Jak*_*old 23 ubuntu ssh bash nohup gnu-screen
我需要运行脚本,这需要很长时间才能执行,或者我只想让它永远运行。我不能只通过 SSH 连接到我的机器,因为当我断开连接时它会停止运行。
有没有办法运行不依赖于启动它的 shell 的脚本?
我正在使用 Ubuntu 9.04。
Kyl*_*ndt 27
您可以在该命令之前使用 nohup 命令运行该命令。您也可以在“屏幕”中运行它,这将允许您重新连接终端。
例如:
ssh mySever 'nohup bash myscript.sh'
Run Code Online (Sandbox Code Playgroud)
或者只是 ssh 进入并运行 nohup 命令。即使断开连接,它也应该继续运行。这是因为 nohup 会拦截 SIGHUP 信号(挂断)。
Screen 有点复杂,但在 20 分钟内可能需要您学习基础知识,它是最有用的工具之一。 这是一个教程。
小智 9
我总是只使用 nohup。如果我关心输出,我会将它重定向到一个日志文件,否则我将它发送到 /dev/null。
例子:
nohup scp file.tar.gz root@someserver:/var/tmp > /dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)
这会将其置于后台,输出将转到 /dev/null,并且如果您注销,则它不受 HUP 信号的影响。您还可以使用某些 shell(如 bash)“否认”该作业,以便它不会连接到您的会话。
disown %1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48401 次 |
| 最近记录: |