我经常需要在较慢的连接上运行更新管理器,并且在阅读电子邮件的同时,我愿意在网上浏览 2 分钟,然后再次使用全部带宽来运行更新管理器。
在命令行中,我可以使用Ctrl+暂停正在运行的进程Z,也称为 suspend。但如果我没有从 shell 启动程序 - 我可以使用一些信号和命令来做到这一点kill
吗?
signal
我阅读了( )的手册页man -a signal
,但在那里我没有找到 SIGSUSPEND,只有 SIGSTOP、SIGTERM、SIGINT 等 - 哪个是合适的,或者没有?
答案1
对于一般情况,您可以停止(暂停进程或进程组,如下所示):
Control-Z
kill pidnumber -SIGSTOP
继续:
kill pidnumber -SIGCONT
kill -groupnumber -SIGSTOP
或者,暂停整个进程组:
kill -groupnumber -SIGCONT
当然,如果您暂停某个带有定时元素的进程,则该进程可能无法正常继续。在提到的用例中,存储库服务器正在定时数据传输确认,它可能会因为您的客户端“离开”而导致传输超时,或者因为“网络拥塞”而减慢传输速度。
当更新管理器更新我的软件包时,我当然也不会暂停它。