在启动带有输出的进程后如何从 SSH 注销/断开连接以保持其运行?

在启动带有输出的进程后如何从 SSH 注销/断开连接以保持其运行?

我今天从命令行运行了一个脚本(php,不确定这很重要),它有我想看的输出,但我必须在它完成之前回家,而且我不知道如何在不杀死脚本的情况下退出。通常我只是关闭笔记本电脑(休眠),但脚本似乎没有完成。

我可以点击一些键盘组合来退出终端并保持脚本运行吗?它也会打印一个日志文件,以便我稍后检查。

答案1

在关闭 shell 会话后让脚本继续运行的最直接方法是使用终端多路复用器程序。终端多路复用器将允许您同时运行多个 shell 会话,而无需主动连接到每个会话,即使在断开(分离)它们之后也是如此。最受欢迎的 2 个是screentmux

我个人使用screen并且它对我来说效果非常好。您启动一个screen会话,启动程序/脚本,断开连接(分离),然后稍后重新连接到分离的会话以查看情况如何。

安装:

sudo apt-get install screen

要开始会话:

screen  

要从会话断开(分离):

Ctrl+A那么d

列出正在运行的会话:

screen -ls

要重新连接到分离的会话,请使用以下输出screen -ls

screen -r [pid.tty.host]

这些只是帮助您前进的基础知识,但与往常一样,man screen还有更多信息

相关内容