我想在后台服务器上运行 bash 脚本?
我知道我可以使用 ssh 来运行脚本,但是该脚本可能会持续很长时间,所以我可以在后台运行它吗?如果可以,该怎么做?
答案1
要在 bash 中在后台运行命令,请&
在末尾使用。
./myscript.sh -opt1 > /tmp/myscript.out &
答案2
nohup
是你的朋友,但根据维基百科条目,你也可以使用screen
。
- 使用 ssh 登录
- 使用 nohup 在后台运行脚本:
nohup script &
- 登出:
exit
答案3
一种选择是使用屏幕管理器,例如GNU 屏幕。您可以通过运行来启动它screen
,然后在其中运行您的进程。然后您可以随意断开 SSH 会话 - 该进程将继续运行。
稍后,您可以重新连接并screen -r
继续运行。它会重新绘制所有内容,就像您从未断开连接一样 - 让您可以看到进程的输出。