linux - 从ssh注销后如何使程序继续运行?

这个问题在这里已经有了答案:
关闭12年前

Possible Duplicate:
Prevent a background process from being stopped after closing SSH client

我有一个程序需要很长时间才能完成。 它在 ssh 上以 root 身份运行。
我希望它在我注销后继续运行,这可能吗?我该如何实现?

最佳答案

假设你有一个程序在前台运行,按 ctrl-Z,然后:

[1]+  Stopped                 myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout

如果只有一项作业,则无需指定作业编号。只需使用 disown -hbg

以上步骤说明:

你按 ctrl-Z。系统暂停正在运行的程序,显示作业编号和“已停止”消息并返回到 bash 提示符。

您键入 disown -h %1 命令(这里,我使用了 1,但您会使用显示在 Stopped 消息)标记作业,因此它忽略 SIGHUP 信号(它不会因注销而停止)。

接下来,使用相同的作业号输入bg命令;这将在后台恢复程序的运行,并显示一条消息确认。

您现在可以注销,它会继续运行..

https://stackoverflow.com/questions/954302/

相关文章:

python - 在 Python 中写入 UTF-8 文件

python - 如何使 Jupyter Notebook 中的内联图更大?

bash - 如何在 Bash 中比较两个点分隔版本格式的字符串?

python - 如果我在 Python 脚本运行时修改它会发生什么?

python - 在 Linux 中安装 Pillow(Python 模块)时失败

linux - 确定 Linux 二进制文件的直接共享对象依赖关系?

python - 如何使用 open with 语句打开文件

python - 在 Python 3 中将字节转换为十六进制字符串的正确方法是什么?

linux - 使用 grep 搜索包含点的字符串

python - super() 失败并出现错误 : TypeError "argument 1 m