Переменная для деталей подтверждения является "Примечаниями: $SERVICEACKCOMMENT$" я нашел это здесь: http://kylepikelinux.blogspot.com/search/label/$SERVICEACKCOMMENT$%20acknowledgment%20Nagios%20email%20alerts
Я понял, что у нас уже был он набор, но буквально никто не был Acking ничто O_o
Внешний экран
(PID 6649) подключается к терминалу, с которого вы начали, и закрывается при отсоединении ( Ctrl + a , d ).
Внутренний экран
(PID 6650) не подключен к этому терминалу, а скорее управляет своим собственным псевдотерминальным (pty) устройством, к которому bash
запустил с подключено.
Когда вы вводите что-то на внешнем терминале, внешний экран
получает это, отправляет через сокет на внутренний экран, а тот, в свою очередь, перенаправляет ввод на pty, которым он управляет. , поэтому в конечном итоге он достигает bash
(или любой другой программы, запускаемой из bash и управляемой через тот же pty). Вывод из bash (или любой запущенной из него программы) будет отправлен на pty внутреннего screen
, в результате чего внутренний screen
отправит его через сокет на внешний screen
, который в конечном итоге отправляет его на терминал, с которого вы запустили screen
(который в вашем случае снова является pty, созданным ssh
). Обратите внимание, что сокет управляется внутренним экраном
, который позволяет отсоединять и повторно присоединять (см. Ниже).
Если вы отсоедините экземпляр screen
, произойдет то, что внутренний screen
, а вместе с ним и управляемый им pty, продолжат существовать. Вот почему процессы, подключенные к нему, выживут, даже если они попытаются выполнить ввод-вывод. Однако внешний экран
прекратит работу, тем самым разорвав соединение с внешним терминалом. Теперь вы можете, например, завершить сеанс ssh
и, таким образом, уничтожить соответствующий pty, и это не повлияет на внутренний экран
или запущенные им программы, поскольку они общаются через свои собственные устройство pty.
Если вы снова войдете в систему (создадите еще один pty), а затем вызовете screen -r
, вновь созданный экземпляр screen
будет подключен к терминалу, с которого вы его запустили ( который полностью отделен от того, с которого был запущен первый экземпляр, поскольку вы его уничтожили), а затем используйте сокет, предоставленный внутренним экземпляром screen
, чтобы повторно подключиться к внутреннему screen
, который затем отправит текущее состояние своего собственного pty на «внешний» экран
для повторного отображения; после этого происходит та же линия передачи ввода / вывода, что и в предыдущем экземпляре внешнего screen
.
Если вы сейчас выполните pstree
, вы найдете две строки с screen
: одна начинается с sshd
и заканчивается на новый экземпляр «external» screen
, и один, начинающийся с экземпляра «internal» screen
, у которого больше нет родителя, так как он завершился, когда вы отсоединили экран screen
.
Вкратце:
ssh
), и живет только как пока вы подключены к экземпляру screen
. экземплярами экрана
. Он живет до тех пор, пока вы не отключите экран
(в отличие от отсоединения). экраном
) - переживает отделение от внешнего элемента. терминал), а также для повторного подключения (за счет наличия уцелевшего внутреннего экрана
, обеспечивающего сокет, к которому могут подключаться новые экземпляры экрана
). Я предполагаю, что причиной второго процесса (того, который имеет PID 6650 в вашем примере) является закрытие tty-соединения (stdin, stdout и stderr), чтобы вы могли выйти из системы. войдите позже, чтобы пересдать экран.
Как видите, PID 6650 не подключен к tty (в столбце TTY написано «?»).