Когда мне нужно запустить фоновый процесс на маловажном сервере, я обычно использую nohup:
nohup ./server.sh &
Большинство коллег предпочитают экран:
screen -D -R mydaemon
./mydaemon.sh
^A ^D
Есть ли какие-либо существенные различия во влиянии этих двух подходов? Какие преимущества так или иначе?
Недостатки nohup в том, что вы не можете повторно подключиться к процессу после выхода из родительского, и вам нужно выполнить дополнительные шаги, чтобы убедиться, что вывод записан правильно. С помощью screen или tmux вы все еще можете взаимодействовать с оболочкой.