Существуют различные уловки для демонстрации процесса Linux, то есть для выполнения команды после закрытия терминала.
nohup
используется для этой цели, а комбинация _2 _ / _ 3_ может использоваться в программе на языке C, чтобы сделать себя процессом демона.
Выше были мои знания о демоне linux, но сегодня я заметил, что выход из терминала на самом деле не завершает процессы, запущенные с &
в конце команды.
$ while :; do echo "hi" >> temp.log ; done &
[1] 11108
$ ps -ef | grep 11108
username 11108 11076 83 15:25 pts/0 00:00:05 /bin/sh
username 11116 11076 0 15:25 pts/0 00:00:00 grep 11108
$ exit
(after reconnecting)
$ ps -ef | grep 11108
username 11108 1 91 15:25 pts/0 00:00:17 /bin/sh
username 11130 11540 0 15:25 pts/0 00:00:00 grep 11108
Очевидно, PPID процесса изменился на 1, что означает, что он каким-то образом был демонизирован.
Это противоречит моим знаниям о том, что &
недостаточно и нужно использовать nohup
или другие уловки для процесса «демон».
Кто-нибудь знает, кто это демонизирует?
Я использую хост CentOS 6.3, и putty / cygwin / sshclient дал тот же результат.