python - 在 Ubuntu 中重新启动 tmux 会话(运行 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>*
以开始键入窗口中的所有窗格。(<prefix>*
再次撤消此功能)
对于您的用例,要停止所有这些,您C-C
可以通过按字面意思输入 Ctrl+C 发送到所有窗格。要重新启动所有进程,只需点击向上箭头以返回每个窗格的历史记录(或键入!!
,如果您愿意),然后点击Enter
重新启动它们。
这假定启动每个进程在每个窗格中使用相同数量的命令。
我已经检查过了,但我找不到让 tmux 窗格重新启动其当前进程的方法;tmux 似乎对它所显示的终端了解不够,无法获得更有弹性的答案。
推荐阅读
- mysql - MariaDB - 无法使用正确的密码从 Dbeaver 连接到 MariaDB 实例
- java - Java中的iOS CryptoKit
- c++ - 从可变参数创建枚举?
- mysql - Mysql 服务占用 CPU 高达 760%
- xamarin - 触发的通知未接收到 android 设备
- php - Laravel 外键约束报错
- php - PhpStorm:调试会话挂起浏览器并且不会在断点处中断
- hibernate - 为什么 Quarkus-Hibernate 在我们已经给出 @DataSource 的情况下还要寻找 Persistance.xml?
- angular - 如何在 TypeScript 中使用“as”语法
- wordpress - 来自 wordpress REST API 的身份验证