私のcronでは、tmuxが実行されていないことを検出すると、自動的に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"
答え1
/usr/bin/tmux new-session -d -s ENTER
よりよく追跡するには、とを使用してください/usr/bin/tmux detach -s ENTER
。
したがって、スクリプトは次のようになります。
/usr/bin/pkill -9 java
/usr/bin/tmux new-session -d -s ENTER
/usr/bin/tmux detach -s ENTER
sleep 3
/usr/bin/tmux send-keys -t 0 "cd /home/xxx/bbb;./run.sh" ENTER
echo "$(date) ${1} RESTARTED NODE"