当我需要在不重要的服务器上启动后台进程时,我倾向于使用 nohup:
nohup ./server.sh &
大多数同事似乎更喜欢屏幕:
screen -D -R mydaemon
./mydaemon.sh
^A ^D
这两种方法的效果有什么重大差异吗? 哪种方法各有什么好处?
答案1
nohup 的缺点是,在父进程退出后,您无法重新连接到该进程,并且您必须执行额外的步骤来确保正确捕获输出。使用 screen 或 tmux,您仍然可以与 shell 交互。
当我需要在不重要的服务器上启动后台进程时,我倾向于使用 nohup:
nohup ./server.sh &
大多数同事似乎更喜欢屏幕:
screen -D -R mydaemon
./mydaemon.sh
^A ^D
这两种方法的效果有什么重大差异吗? 哪种方法各有什么好处?
nohup 的缺点是,在父进程退出后,您无法重新连接到该进程,并且您必须执行额外的步骤来确保正确捕获输出。使用 screen 或 tmux,您仍然可以与 shell 交互。