首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当tmux重新连接时,shell能识别出吗?

当tmux重新连接时,shell能识别出吗?
EN

Unix & Linux用户
提问于 2019-06-26 20:49:52
回答 2查看 134关注 0票数 2

当我重新附加到tmux会话时,我希望(我想)我的shell接收一个SIGWINCH。但事实并非如此。*(炮弹是否有办法确认它已被重新连接?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-06-26 21:38:35

是。

您的意思是tmux中的外壳,即附加后看到的外壳吗?如果是的话:

代码语言:javascript
复制
tmux set-hook -g client-attached 'run-shell "kill -s WINCH #{pane_pid}"'

还是调用tmux attach的shell,即在附加之前看到的shell?(虽然这没有什么意义)。如果是这样的话,大概如下:

代码语言:javascript
复制
tmux set-hook -g client-attached 'run-shell "kill -s WINCH \"$(ps -o ppid= -p #{client_pid})\""'

其中ps -o ppid= -p #{client_pid}负责获取父进程的PID of tmux attach

-g表示钩子是全局的。用tmux set-hook -gu client-attached解除钩子。

票数 3
EN

Unix & Linux用户

发布于 2019-06-26 21:38:10

在tmux里面壳?如果大小改变了,它应该得到SIGWINCH。

如果您想知道,即使大小没有改变,您也需要编写一个使用tmux /lsp轮询的脚本来查看包含shell窗格的会话何时被附加,或者使用hack tmux向每个附加的受影响的窗格发送信号。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/527119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档