我想做一个大磁盘传输,这会减慢系统的响应速度。
我想要的是一个 Unix 命令,它只会在我在控制台空闲几分钟后才运行该命令。如果我中途回来,它将暂停工作。直到我离开我的电脑。
有没有这样的命令,或者软件包?
[编辑:这个问题的关键部分是如何确定是否有控制台活动,以自动挂起。]
我想做一个大磁盘传输,这会减慢系统的响应速度。
我想要的是一个 Unix 命令,它只会在我在控制台空闲几分钟后才运行该命令。如果我中途回来,它将暂停工作。直到我离开我的电脑。
有没有这样的命令,或者软件包?
[编辑:这个问题的关键部分是如何确定是否有控制台活动,以自动挂起。]
您可以通过首先获取进程 PID 来实现这一点:
记下 PID(它是第二列),然后使用以下命令将其挂起:
并继续:
只是正常运行命令,然后在它上面使用“nice”来降低它的优先级怎么样?
我曾经写过一个“pause_io”脚本,它会接受一个数字,然后 pgrep 所有可能影响我的 IO 的东西,例如 rsync、updatedb 和 cp。然后它将杀死 -STOP 那些 pid 并休眠提供的分钟数,然后杀死 -CONT 每个。当我需要响应式访问该框时,我会执行
如果没有繁重的 I/O,我将有 10 分钟的时间
它是这样的:
rsync
有一个--bwlimit
选择。运行建议的 -STOP 和 -CONT 作为某些屏幕保护程序的一部分可能吗?
(如果您在终端上:还有一个用于终端的屏幕保护程序,但我不知道它的名称,也不知道在哪里设置它的选项。我所知道的是,它在 Ubuntu 上默认开启 :-)