2

我经常同时运行几个 tmux 会话,在大多数这些会话中,我将在一个端口上运行一个本地服务器。我想要的是能够在从 tmux 会话分离时自动终止该服务器,并在重新连接时类似地重新启动服务器。

tmux 中是否有任何东西可以使这更容易,感觉就像 tmux 提供了一个钩子,以便您可以在会话分离或重新连接之前运行脚本,但我看不到这样的东西文档。

4

3 回答 3

2

快进到 2017 年。今天,tmux 调用了钩子client-attachedclient-detached当客户端分别连接到会话或从会话中分离时,这些钩子就会运行。

于 2017-05-18T22:54:18.690 回答
1
tmux a  # attach most recent tmux session

或者

tmux list-sessions  # look for the session you want to kill
tmux a -t 0         # attach session named "0"  

一旦进入你想要杀死的会话:

[Ctrl]-B x          # kill current pane of current session

对该会话中的所有窗格和窗口执行此操作,并且应该这样做。

于 2016-11-28T19:10:09.643 回答
0

您可以将这样的内容添加到您的~/.tmux.conf

shell-command /bin/bash yourhook.sh

在运行 tmux 时,这至少会给你一些功能,但我不确定你会对分离钩子做什么......

于 2014-01-17T00:20:27.617 回答