相关疑难解决方法(0)

命令完成时防止窗格/窗口关闭 - tmux

在我的tmux.conf文件中,我将其配置为打开窗口、命名它们、设置窗格等。等等。

但是,我遇到的一个问题是,如果其中一个窗格启动了一个命令,比如说ls,那么该窗格会在命令完成后(立即)自行关闭。有什么办法可以防止这种行为吗?或者在命令完成后它会降到正常的shell?

我假设我需要在窗格启动时启动一个 shell -> 执行命令,但如果我能弄清楚如何做,我会被诅咒的。我为这个问题搜索了一些谷歌,但没有找到。

tmux

43
推荐指数
2
解决办法
2万
查看次数

一旦执行的脚本结束,防止 GNU 屏幕终止会话

我试图强制 GNU screen 创建一个“虚拟”终端,而不附加到它,在里面执行脚本并且一旦脚本结束就终止会话。

我尝试了很多组合,包括:

screen -dmS udplistener /share/Sys/autorun/start_udp_listeners.sh
Run Code Online (Sandbox Code Playgroud)

或者

screen -S udplistener -X /share/Sys/autorun/start_udp_listeners.sh
Run Code Online (Sandbox Code Playgroud)

他们都没有工作。我要么在没有执行脚本的情况下获取会话,脚本执行,但会话一旦完成就终止,或者我收到“未找到屏幕会话”错误。

我基本上要做的是运行用 PHP 编写的 UDP 侦听器,并使其在无限循环中工作(不要中断侦听)。是的——我可以&在最后运行 PHP 脚本,强制 PHP CLI 作为守护程序运行。问题是,我正在使用一个名为 server 的垃圾(QNAP - 永远不要买这个垃圾!),它似乎忽略了这一点。一旦我注销 SSH 会话,脚本就会停止。

所以screen似乎是唯一的选择。但我不明白,为什么一旦执行的命令或脚本结束它就会终止会话?

编辑:我也试过在互联网上找到的例子:

screen -dmS name
screen -S name -p windowname -X stuff 'mc
'
Run Code Online (Sandbox Code Playgroud)

不缺!附加到它 ( screen -R name) 后,我看到午夜指挥官尚未被处决。尽管示例作者说,它会。

gnu-screen

42
推荐指数
1
解决办法
3万
查看次数

标签 统计

gnu-screen ×1

tmux ×1