在创建我的tmux会话而不是-s时意外使用-S,我的会话在哪里?

时间:2017-08-18 22:23:13

标签: tmux

我创建了一个新的tmux会话,打算使用-s标志来命名它,但是将命令与指定套接字的-S混淆了。我知道会话是活的,因为我在其中启动的进程仍在运行。但是,当我尝试列出正在运行的会话时,它不会出现。我的会话在哪里,我该如何恢复?

1 个答案:

答案 0 :(得分:0)

tmux选项中-S表示套接字路径(来自man tmux):

 -S socket-path
               Specify a full alternative path to the server socket.  If -S is specified, the default
               socket directory is not used and any -L flag is ignored.

所以你必须找出运行tmux的父目录 -S选项并将此选项传递给tmux以将其指向 替代套接字路径。例如,你可以找到PID tmux进程:

$ ps aux | grep  '[t]mux'
ja       15121  0.0  0.0  20252  2236 pts/6    S+   00:44   0:00 tmux -S new

然后在cwd中检查此过程/proc,如下所示:

$ ls -l /proc/15121/cwd
lrwxrwxrwx 1 ja users 0 Aug 19 00:52 /proc/15121/cwd -> /home/ja

然后引用此tmux会话:

$ tmux  -S /home/ja/new ls
0: 1 windows (created Sat Aug 19 00:44:46 2017) [212x65] (attached)