基本上,我正在使用远程服务器,并通过SSH连接。现在,我可以使用SSH控制台正常运行进程/执行bash脚本,但是有一个问题。一旦我注销,那些bash脚本就会退出。
有没有办法让我从SSH启动bash脚本,让它运行,即使我启动了bash脚本到服务器的计算机已关闭?
提前致谢, 和平! 〜汤姆
答案 0 :(得分:3)
nohup
程序吉姆建议是好的。请参阅其命令行选项以更改日志位置。
另一个很酷的选择是screen
。当您启动它时,您可以拥有多个屏幕,如果您注销以后的登录,则可以使用screen -r
重新连接到同一会话。它有许多很酷的功能,但你需要阅读文档。
最简单的事情是当你最后用&
开始一些scrtips时,可以使用disown
bash
命令使这些脚本不以bash exit终止。
希望这能为你提供一些线索。
更新,快速入门屏幕:
答案 1 :(得分:2)
测试脚本
脚本称之为remote.sh:
at now <<!
/path/to/test.h> /tmp/test.out
!
将此复制到远程复选框: scp remote.sh thomas @ remote: ssh remote'chmod + x remote.sh'
cd /tmp;
cp *.foo /path/to/somewhere/else
将脚本复制到远程服务器
scp test.sh thomas @ remote: ssh remote'chmod + x test.sh'
ssh remote'./remote.sh'
重复步骤1,2和&amp; 3每次需要运行脚本而不等待它时。
答案 2 :(得分:1)
在我看来,实现这一目标的最简单方法之一是使用“screen”。 这将创建一个虚拟终端,在您注销后不会终止您的任务。
您的流程现在将继续有效。
在重新登录后输入'screen -list'并找到最后一个屏幕会话的pid。 然后输入
screen -dr YOUR_PID
重新打开屏幕并继续工作。
P.S。屏幕上充满了对远程管理非常有用的功能。看看教程。