如何在分离tmux会话时停止进程

  • 本文关键字:进程 会话 tmux 分离 tmux
  • 更新时间 :
  • 英文 :


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

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

快进到2017年。现在tmux有一个叫做client-attachedclient-detached的钩子,它们分别在客户端连接到会话或从会话分离时运行。

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

为会话中的所有窗格和窗口执行此操作,并且应该执行此操作

你可以在你的~/.tmux.conf

中添加这样的内容

shell-command /bin/bash yourhook.sh

这至少可以在运行tmux时为您提供一些功能,但我不确定您将如何处理detach钩子…

最新更新