nohup vs 屏幕 vs ? 用于手动启动守护进程

Ste*_*ett 6 daemon nohup background-process gnu-screen

当我需要在低重要性服务器上启动后台进程时,我倾向于使用 nohup:

nohup ./server.sh &
Run Code Online (Sandbox Code Playgroud)

大多数同事似乎更喜欢屏幕:

screen -D -R mydaemon
./mydaemon.sh
^A ^D
Run Code Online (Sandbox Code Playgroud)

这两种方法的效果有什么主要区别吗?以一种方式或另一种方式有什么好处?

Mic*_*nez 7

nohup 的缺点是无法在父进程退出后重新连接到进程,并且必须执行额外的步骤以确保正确捕获输出。使用 screen 或 tmux,您仍然可以与 shell 交互。