我可以在分离的 tmux 会话中运行命令:
tmux new -d 'while true; do date; sleep 1; done'
Run Code Online (Sandbox Code Playgroud)
我可以在附加的 tmux 会话中运行命令并使用以下命令记录控制台输出:
tmux new 'while true; do date; sleep 1; done' \; pipe-pane 'bzip2 > /tmp/log.bz2'
Run Code Online (Sandbox Code Playgroud)
但是如何在分离的 tmux 会话中运行命令并记录控制台输出?以下在分离的 tmux 会话中运行命令,但无法记录输出:
tmux new -d 'while true; do date; sleep 1; done' \; pipe-pane 'bzip2 > /tmp/log.bz2'
Run Code Online (Sandbox Code Playgroud)
我能够得到的最接近的是以下内容,它在非分离的 tmux 中启动命令,开始记录,然后分离:
tmux new 'while true; do date; sleep 1; done' pipe-pane 'bzip2 > /tmp/log.bz2' \; detach
Run Code Online (Sandbox Code Playgroud)
这有效,但在以下之后会在控制台上打印以下乱码:
^[[?62;9;c
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
小智 9
希望现在你已经找到了这个奇怪的答案。这是我发现的:
在使用 tmux 1.8(centos 7 上的默认设置)时,我遇到了与您相同的问题。因此,我删除了该版本并从 tmux 的源版本 2.2 编译。
从这个版本开始,以下工作没有奇怪的字符:
tmux new -d 'while true; do date; sleep 1; done' \; pipe-pane 'cat > /tmp/log'
Run Code Online (Sandbox Code Playgroud)
所以基本上它一定是旧版本的问题。我不知道哪个版本更正了问题/功能,但我知道 2.2 就像一个魅力。
请注意,日志将包含一些控制字符。像 ^C 一样,退出 while 循环时。
我知道这是一个老问题,但由于在寻找tmux 分离日志记录时,这是一个相当高的结果,我遇到了同样的问题,我认为最好将我的解决方案留在这里给任何可以帮助它的人。
归档时间: |
|
查看次数: |
12765 次 |
最近记录: |