启动一个新的 tmux 会话并分离它,所有这些都在 shell 脚本中
Starting a new tmux session and detaching it, all inside a shell script
我正在尝试创建一个新的 tmux 会话并执行命令 'vagrant up'。 'Vagrant up' 需要 3 个多小时,所以我想分离会话,以便稍后返回并通过附加回同一会话来检查该命令的状态。
我按照 中指定的答案完成了同样的事情。
我收到错误 no session found
。这是我的代码:
$cat tmux_sh.sh
#!/bin/bash
echo "step 1"
tmux new-session -d -s rtb123 'vagrant up'
echo "step 2"
tmux detach -s rtb123
$./tmux_sh.sh
step 1
step 2
session not found: rtb123
您在创建会话时使用了 -d
开关。这意味着会话将开始分离,因此您不需要使用分离命令。此外,如果您尝试分离时您的会话不是运行,则意味着它不再存在,因此您的命令可能已退出。
启动一个shell,并将vagrant发送到它,这样你就可以看到错误。
tmux new-session -d -s rbt123
tmux send-keys 'vagrant up' C-m
tmux detach -s rtb123
C-m
表示命中return.
新建、分离、命名并默认执行命令 shell:
tmux new-session -d -s apiserver 'java -cp /root/apiserver.jar com.package.EntryPoint'
附加使用:
tmux attach-session -t apiserver
我正在尝试创建一个新的 tmux 会话并执行命令 'vagrant up'。 'Vagrant up' 需要 3 个多小时,所以我想分离会话,以便稍后返回并通过附加回同一会话来检查该命令的状态。
我按照
我收到错误 no session found
。这是我的代码:
$cat tmux_sh.sh
#!/bin/bash
echo "step 1"
tmux new-session -d -s rtb123 'vagrant up'
echo "step 2"
tmux detach -s rtb123
$./tmux_sh.sh
step 1
step 2
session not found: rtb123
您在创建会话时使用了 -d
开关。这意味着会话将开始分离,因此您不需要使用分离命令。此外,如果您尝试分离时您的会话不是运行,则意味着它不再存在,因此您的命令可能已退出。
启动一个shell,并将vagrant发送到它,这样你就可以看到错误。
tmux new-session -d -s rbt123
tmux send-keys 'vagrant up' C-m
tmux detach -s rtb123
C-m
表示命中return.
新建、分离、命名并默认执行命令 shell:
tmux new-session -d -s apiserver 'java -cp /root/apiserver.jar com.package.EntryPoint'
附加使用:
tmux attach-session -t apiserver