Как завершить удаленную команду, запущенную через SSH, при завершении работы SSH?

Как завершить удаленную команду, запущенную через SSH, при завершении работы SSH?

Я пытаюсь запустить бесконечный цикл через SSH, например

ssh remote_server "loop" 

Однако процесс loopпродолжается, когда я выхожу из SSH с помощью Ctrl+ C. Есть ли способ loopзавершить работу при завершении SSH?

Пример

Пусть 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

Связанный контент