當 SSH 終止時,如何終止遠端命令(透過 SSH 運行)?

當 SSH 終止時,如何終止遠端命令(透過 SSH 運行)?

我正在嘗試透過 SSH 運行無限循環,例如

ssh remote_server "loop" 

但是,當我使用+loop退出 SSH 時,該過程仍然存在。有什麼方法可以在 SSH 終止時導致終止嗎?CtrlCloop

一個例子

假設loop為以下文件:

#!/bin/bash
while :
do
    sleep 1
done

終止前,ps uxf顯示:

tshmak   177639  0.0  0.0 140768  4508 ?        S    10:06   0:00 sshd: tshmak@pts/0
tshmak   177640  0.0  0.0  14548  5220 pts/0    Ss   10:06   0:00  \_ -bash
tshmak   180067  0.0  0.0  29128  3068 pts/0    R+   11:45   0:00      \_ ps uxf

終止後,我得到:

tshmak   179490  0.0  0.0  12524  3036 ?        Ss   11:45   0:00 /bin/bash /home/tshmak/scripts/loop
tshmak   187387  0.0  0.0   7288   656 ?        S    11:47   0:00  \_ sleep 1

相關內容