关闭 ssh 客户端后,保持分离的 ssh 进程继续运行

关闭 ssh 客户端后,保持分离的 ssh 进程继续运行

我使用 mobaxterm 通过 ssh 进入我的 ubuntu 机器。

效果很好。

有时我想保持某个进程运行,但退出 ssh 会话(并退出 mobaxterm)。我尝试了以下操作,但无论如何,只要我关闭 mobaxterm,目标机器上的进程就会死机,以 Firefox 为例:

ssh => 
tmux;
firefox & disown;
tmux detach;
exit;

ssh => 
screen firefox & disown;
exit;

我确信我犯了一个非常愚蠢的错误,但浏览有关该主题的其他帖子后,我认为我已经遵循了他们的建议,但无济于事。

提前致谢。

澄清: 我可以使用 screen 或 nohup 成功分离我的进程,但是否可以关闭 ssh 客户端并保持分离的进程运行?

答案1

避免自动终止分离进程的两个选项:

  1. 使用屏幕:屏幕是一个 Unix 实用程序,它允许您在退出后保持实时会话。

    • 要启动屏幕,请输入以下命令:

    屏幕

    • 分离但保持外壳窗口打开

    按 Ctrl 键

    • 恢复屏幕会话:

    屏幕-r

您应该按以下方式使用屏幕:

  1. ssh 进入服务器
  2. 开始屏幕
  3. 执行你想要运行的命令
  4. 分离屏幕 (ctrl-ad)
  5. 退出服务器并关闭 ssh 连接

这些进程应该在服务器中继续运行

当你执行以下操作时,你将能够看到它:

  1. ssh 进入服务器
  2. 恢复屏幕screen -r
  3. 检查相关日志 ps -ef

更多信息:

更多信息: -男子nohup

答案2

澄清:我可以使用 screen 或 nohup 成功分离我的进程,但是是否可以关闭 ssh 客户端并保持分离的进程运行?

是的。

这对于您自己来说也非常容易测试。

相关内容