首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使程序在从ssh注销后继续运行?

如何使程序在从ssh注销后继续运行?
EN

Stack Overflow用户
提问于 2009-06-05 04:48:06
回答 6查看 200.4K关注 0票数 181

可能重复:

Prevent a background process from being stopped after closing SSH client

我有一个需要很长时间才能完成的程序。它以root用户身份在ssh上运行。

我想让它在我注销后继续运行,这是可能的吗?我如何实现这一点?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-05 05:47:35

假设您有一个程序在前台运行,按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命令;这将恢复程序在后台的运行,并显示一条消息确认这一点。

您现在可以注销,它将继续运行。

票数 374
EN

Stack Overflow用户

发布于 2009-06-05 04:51:13

您应该尝试使用nohup并在后台运行它:

nohup sleep 3600 &
票数 91
EN

Stack Overflow用户

发布于 2009-06-05 04:54:37

我会尝试使用screen程序。

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/954302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档