我在我的 cron 中有自动启动 tmux 内的服务,如果它检测到它没有运行。我的 bash 脚本的其余部分有效,但如果 tmux 会话不存在,则会引发错误。这就是我在下面的“tmux new ENTER”中添加的原因。但它仍然没有启动 tmux 会话。如果我手动启动 tmux 会话,则代码可以工作,它将执行 send-keys 命令。
我想看看为什么 tmux 新会话没有在 cron 上启动。有任何想法吗?
/usr/bin/pkill -9 java
/usr/bin/tmux new ENTER
sleep 3
/usr/bin/tmux send-keys -t 0 "cd /home/xxx/bbb;./run.sh" ENTER
echo "$(date) ${1} RESTARTED NODE"
使用
/usr/bin/tmux new-session -d -s ENTER
和 为良好的措施跟进它/usr/bin/tmux detach -s ENTER
。所以你的脚本看起来像: