我可以修改或搶先終止正在運行的以 ; 分隔的複合 bash 命令的一部分嗎?

我可以修改或搶先終止正在運行的以 ; 分隔的複合 bash 命令的一部分嗎?

我正在運行多個以分號分隔的 bash 命令:

% long-running-command-I-want ; another-command-I-dont

仍在long-running-command-I-want運行;自然pid還沒有another-command-I-dont。我想先發制人地殺死/取消/阻止執行,而不another-command-I-dont殺死long-running-command-I-want我已經等待了一段時間的程序。我可以這樣做嗎?如果是這樣,怎麼辦?

答案1

bash如果您執行另一個 shell,您可以找到正在執行您想要繼續的程式的 PID 。如果是bashPID,則發送中斷訊號:

kill -2 bashPID

這將停止命令行其餘部分的執行。

或者,您可以在原始 shell 中鍵入Ctrl-z以在背景暫時掛起正在執行的程式。這將繼續執行命令列的其餘部分,該部分將被中斷訊號刷新。然後,您可以使用fg或恢復正在運行的程序bg,具體取決於您希望它在前台還是後台繼續運行。

相關內容