【发布时间】:2016-04-22 18:11:53
【问题描述】:
我在 Unix 上运行屏幕会话。打开并运行几个屏幕会话后,我想检查每个屏幕会话的进度,看看是否有任何会话完成运行。
在命令行中,如果我输入:
$screen -ls
我可以看到分离的屏幕会话列表,例如
There are screens on:
4683.pts-0.xxxx (Detached)
4869.pts-0.xxxx (Detached)
4848.pts-0.xxxx (Detached)
4890.pts-0.xxxx (Detached)
4 Sockets in /var/run/screen/S-xyzxyz.
如果我想检查 4 个会话中的任何一个是否完成运行,我可以重新附加一个会话以检查进度:
$screen -r 4683.pts-0.xxxx
然后我可以查看此会话是否完成运行。
但是,有什么方法可以检查所有屏幕会话的进度而不重新附加到每个会话?
【问题讨论】:
-
你如何定义“完成运行”?我假设您在每个屏幕会话中运行一个脚本。您可以让脚本(或在它之后运行的脚本)退出屏幕或写入日志文件?或者您可以检查您在屏幕会话中运行的脚本的 PID。
-
您能否使用
-L参数启动每个屏幕会话并在日志中查找单词或短语? https://www.gnu.org/software/screen/manual/screen.html
标签: bash shell command-line tmux gnu-screen