내 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"