Закройте ssh сеанс, который имеет ControlPersist и поддерживается в фоновом режиме

И фоны хорошо за исключением программ, которые возвращаются, требуя консольного взаимодействия позже (например, "способное обновление-y и", который в конечном счете вводит состояние ОСТАНОВКИ, так как оно желает предложить пользователю "действительно действительно сила?" вопрос намного позже...., когда никто не смотрит больше).

Чтобы заткнуть ту дыру и сообщить процессу, терминал никогда будет действительно никогда не становиться доступным ему, я добавляю <&-к некоторым моим командам, полностью отсоединяя их от активного терминала, говоря им, STDIN больше не возможен. Удостоверьтесь, что/bin/bash является Вашей оболочкой при использовании этого все же. Сценарий продолжит регистрировать любые ошибки, связанные ни с каким псевдотерминалом, являющимся доступным, на котором можно бросить любую подсказку.

Например:

`./runme.sh &> runme.log <&- & disown`

мой окончательный способ разъединить с текущим терминальным сеансом. И STDOUT и STDERR зарегистрированы к runme.log, не будет иметь значения, если Ваша консоль или окружит оконечный раньше или если Вы, logout/su в другую учетную запись (никакой терминальный мусор от runme), и благодаря отрицают даже родительско-дочерние отношения PID, удалены.

ОБНОВЛЕНИЕ: даже с этим я испытал затруднения из-за семафора, связывающего его с названием исходного родителя, поэтому теперь я рекомендую вместо этого:

at now <<< "(cmd1; cmd2; etc.) &> logfile.log"

Конечно, удалите и>, если Вы хотите быть отправленными по электронной почте вывод от КРОНА или перенаправить все это к/dev/null вместо файла.

6
04.10.2012, 18:14
2 ответа

Если Вы ps -ef | grep {hostname} из соединения Вы можете затем kill -9 процесс и это сбросят соединение.

0
27.01.2020, 20:28
  • 1
    так в основном Вы говорите ControlPersist работы только путем хранения процессов ssh, работающих в фоновом режиме? –  Ali 29.11.2012, 18:41

Вы хотите -O exit опция к ssh.

krall@localhost $ ssh -o ControlPersist=yes otherbox
Password:
krall@otherbox $ exit
Shared connection to otherbox closed
krall@localhost $ ssh otherbox -O exit

Другая опция -O stop, который устанавливает ведущую остановку управления принять связи, или близко если ничто в настоящее время не соединяется.

6
27.01.2020, 20:28

Теги

Похожие вопросы