По-видимому
kill -s SIGHUP [pid]
Должен полностью убить этот терминальный сеанс и эффективно повесить этот сеанс.
Как и в случае с другими ответами, команда ps -ef | grep sleep
должен получить вам pid
который нужно отправить сигнал.
- = EDIT = -
Флаг kill
-s
сообщает команде, что я хочу указать используемый сигнал, в моем случае SIGHUP.
Чтобы уточнить, почему я решил предложить kill -s SIGHUP [pid]
(или ppid
как предложено peth), я заручусь поддержкой Википедии, в которой говорится:
На POSIX-совместимых платформах SIGHUP - это сигнал, отправляемый процессу, когда его управляющий терминал закрыт. (Первоначально он был разработан, чтобы уведомить процесс сброса последовательной линии). SIGHUP является символической константой, определенной в заголовочном файле signal.h.
...
С отказом доступа через последовательную линию значение SIGHUP несколько изменилось в современных системах, что часто означает, что управляющий псевдо или виртуальный терминал был закрыт.
Я обнаружил большое количество программ, которые после того, как их терминал будет уничтожен, сами полностью прекратят работу, и я считаю, что оболочка bash (при выполнении команды sleep) в этом случае ничем не отличается.