我将在 Amazon EC2 Ubuntu 12 机器上运行一些批处理。我可以使用 putty 登录,运行命令。该过程将运行一两天。putty 可能会断开连接。但是我需要该程序在远程 Ubuntu 机器上继续运行。这可能吗?
就像 Windows RDP 一样,登录到一台机器,启动某个应用程序,断开连接,稍后再回来,应用程序仍在运行。在 Ubuntu 中也有类似的体验,我该如何获得?谢谢。
谢谢/。
答案1
Screen。您可能需要使用apt-get install screen
或类似工具来安装它,但一旦安装好,一切就变得非常简单了。使用screen
来启动它,您将获得一个bash
或sh
shell,使用它来运行批处理作业,然后使用 Ctrl+A 和 Ctrl+D 来从会话中分离。然后您可以注销,并可以随时使用 重新连接screen -r
。man screen
有关更多信息,请参阅。您也可以简单地使用 & 符号将作业分叉到后台,./job.sh &
但您将无法在稍后的某个时间点重新连接到它。
答案2
将 nohup 和 & 与命令/批处理一起使用。运行脚本或命令,如下所示
nohup command &
即使你的 putty 会话断开连接,你的命令仍将继续在后台运行。