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

时间:2019-02-23 20:18:14

标签: python ubuntu ssh tmux

我在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]

是否有命令来停止和启动或重新启动所有服务?而不是进入每个目录然后手动停止并重新启动它?

谢谢

1 个答案:

答案 0 :(得分:0)

最简单的方法可能涉及

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

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

对于您的用例,要停止全部使用,您可以通过直接键入Ctrl + C将C-C发送到所有窗格。要重新启动所有过程,只需按向上箭头以返回每个窗格的历史记录(或根据需要键入!!),然后按Enter重新启动它们。

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

我已经检查了,但是找不到使tmux窗格重新启动其当前过程的方法; tmux对于所显示的终端似乎不太了解,无法获得更灵活的答案。