![如何仅在计算机空闲时运行 I/O 密集型应用程序?](https://linux22.com/image/1111204/%E5%A6%82%E4%BD%95%E4%BB%85%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A9%BA%E9%97%B2%E6%97%B6%E8%BF%90%E8%A1%8C%20I%2FO%20%E5%AF%86%E9%9B%86%E5%9E%8B%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
是否有一个工具可以根据指示在用户使用键盘或鼠标时暂停指定的进程,并在用户停止与操作系统的交互后在一定时间内恢复它?
我想以这种方式处理烦人的 mlocate update db、backuppc。
附言
2015 年 9 月 我猜这些有用的工具困扰了我,因为我的 Ubuntu 实际上是一个服务器,而不是桌面。
答案1
使用该ionice
实用程序将命令的 I/O 优先级设置为闲置的- 这样,它就不会在您工作时占用您的硬盘,从而降低您的速度。
语法是:
ionice -c 3 command-name
-c 3
将 I/O 优先级设置为空闲。man ionice
有关详细信息,请参阅。sudo
如果命令本身需要,请不要忘记添加前缀须藤例如updatedb
您还可以
nice
同时使用将 CPU 优先级设置为“空闲”,例如sudo nice -19 ionice -c 3 updatedb
注意:如果应用程序通过运行
cron
,您还应该考虑将计划时间更改为您最少使用计算机的时间。