在 bash 终端中,我可以按Control+Z暂停任何正在运行的进程...然后我可以键入fg
以恢复该进程。
如果我只有进程的 PID,是否可以暂停进程?如果是这样,我应该使用什么命令?
我正在寻找类似的东西:
suspend-process $PID_OF_PROCESS
然后用
resume-process $PID_OF_PROCESS
答案1
您可以使用它kill
来停止该过程。
要“礼貌”地停止该过程(在正常使用时更喜欢这样做),请发送SIGTSTP
:
kill -TSTP [pid]
对于“硬”停止,请发送SIGSTOP
:
kill -STOP [pid]
请注意,如果您尝试通过 PID 停止的进程位于 shell 的作业表中,则它可能仍在那里可见,但会终止,直到该进程fg
再次被终止。
要恢复进程的执行,请发送SIGCONT
:
kill -CONT [pid]
答案2
您应该使用该kill
命令。
更详细 - 你必须指定正确的信号, IE
$ kill -TSTP $PID_OF_PROCESS
用于暂停进程和
$ kill -CONT $PID_OF_PROCESS
恢复它。记录于24.2.5 作业控制信号。