从会话本身外部检查 tmux 会话是否仍然繁忙

从会话本身外部检查 tmux 会话是否仍然繁忙

如何从会话本身外部检查 tmux 会话是否仍然繁忙(正在运行某些进程)?

答案1

您可以用来ps -x --forest确定 tmux 会话中的 shell 是否有正在运行的子进程。如果您想以编程方式执行此操作,您可能应该获取 tmux 的 pid,然后使用 列出其子 shell ps --ppid <the tmux pid>,最后使用相同的命令列出其子进程。又快又脏:

ps --ppid $(ps -h -opid:1 --ppid $(ps x | awk ' $5 == "tmux" {print $1}') | tr '\n' ',' | sed 's/,$//')

但是,如果您知道所运行的子进程的 pid,则可以检查它是否仍在运行。

相关内容