在 Ubuntu (运行 Python) 中重启 tmux 会话

Restart tmux sessions in Ubuntu (running Python)

我的 Ubuntu 服务器上的 tmux 中有五个后台进程 运行。每个窗格都是一个 python 脚本,它是一个永无止境的 while 循环。

$ tmux ls
process1: 1 windows (created Fri Dec 14 10:12:40 2018) [143x31]
process2: 1 windows (created Fri Jan 11 10:23:55 2019) [128x30]
process3: 1 windows (created Sun Feb 10 13:30:03 2019) [143x33]
process4: 1 windows (created Tue Dec 18 22:41:50 2018) [145x33]
process5: 1 windows (created Mon Jan 14 15:42:04 2019) [143x33]

是否有停止和启动或重新启动所有服务的命令?而不是进入每一个并手动停止并重新启动它?

谢谢

最简单的方法可能涉及

bind-key * set-window-option synchronize-pane

此绑定(或您选择设置的任何其他键)将允许您键入 <prefix>* 以开始在 window 中的 所有 窗格中键入. (再次使用 <prefix>* 撤消此功能)

对于您的用例,要停止所有这些操作,您需要按字面键入 Ctrl+C 将 C-C 发送到所有窗格。要重新启动所有进程,只需点击向上箭头返回每个窗格的历史记录(如果愿意,也可以键入 !!),然后点击 Enter 再次启动这些进程。

这假定启动每个进程在每个窗格中使用相同数量的命令。

我已经检查过了,但我找不到让 tmux 窗格重新启动其当前进程的方法; tmux 似乎对它显示的终端了解得不够多,无法提供更有弹性的答案。