如何在后台运行脚本并在我注销时保持其运行?

如何在后台运行脚本并在我注销时保持其运行?

可能重复:
未登录时让 bash 脚本在远程终端上运行?

我有一个运行 Gaussian(一种化学结构计算器)的 bash 脚本,花了几天时间研究一个分子。它在 Linux 机器上运行,我将输入文件和脚本加载到该机器上,然后我(应该)运行它,等待一段时间,希望程序没有崩溃,然后重新登录以收集结果。

有点像 *nx 新手,但我似乎无法弄清楚如何设置脚本运行并断开连接,同时让它继续运行。

./jobscript

似乎会阻塞直到完成,如果我断开连接它就会终止

./jobscript &

没有阻塞,我可以看到它在运行top,所以我认为它没问题,但是在注销时它显然杀死了程序。

我如何设置让它运行并且保持运行,即使我注销了?

答案1

您想使用该程序screen这是手册页为此,这里是一个很好的教程。它应该完全按照您的要求执行 - 在后台执行某些操作,然后稍后再返回。

答案2

您可以使用:

nohup /path/to/script >output 2>&1 &

答案3

你可以开始屏幕会话,开始你的工作,并断开与屏幕会话的连接。

稍后,您可以重新连接到屏幕会话以查看您的工作是否已完成。

也可以看看https://serverfault.com/questions/2016/on-a-linux-server-how-do-you-use-multiple-terminals-over-a-single-ssh-connection/2027#2027

答案4

使用 bash:

my_program &
disown -h %1

修改为你的实际工作编号(jobs另请参阅内置)

相关内容