我正在使用 Ubuntu 12.04 服务器版本。我可以通过 ssh 访问服务器。
我的问题是如何通过 SSH 运行程序,这样即使我断开 ssh 连接,它也不会关闭。它必须作为服务在服务器上运行。
你能告诉我该怎么做吗?
答案1
使用以下方式调用命令nohup
来自nohup
信息:
“nohup” 运行给定的命令并忽略挂断信号,以便命令可以在您注销后继续在后台运行。概要:
nohup COMMAND [ARG]...
答案2
要将程序作为服务运行,我建议使用
start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON --chuid $USER --chdir $DIR -- $DAEMON_ARGS
查看/etc/init.d/skeleton
并根据此示例编写初始化脚本。
答案3
nohup 不会自动将其运行的命令放在后台,因此您应该用 & 符号结束命令行。
nohup 命令 &
答案4
除了 nohup 建议之外,还可以考虑使用GNU 屏幕,它允许您打开多个终端窗口,并且能够在您的 ssh 会话因任何原因中断时恢复连接。