일부 모니터링 도구를 사용하여 tmux 세션을 시작하는 bash 스크립트가 있고 시작 시 이를 실행하는 cronjob이 있지만 명령의 일반적인 접두사를 볼 수 없으며 화살표 키를 사용할 수도 없습니다.
일반적으로 다음과 같아야 합니다.
(실제 스크립트)
#!/bin/sh
cd /home/ubuntu/
tmux start-server
tmux new-session -d -s "0" bash
tmux selectp -t 1
tmux splitw -h -p 50
tmux selectp -t 2
tmux splitw -v -p 50
tmux selectp -t 3
tmux send-keys "htop" C-m
# Select pane 1
tmux selectp -t 0
tmux attach-session -t "0"
tmux detach
무엇이 잘못되었나요? ?
답변1
cron 작업이 bash 대신 sh 또는 dash를 시작한 것 같습니다(Ubuntu는 bash와 sh를 구별합니다... 아직도 그런 경우인지는 모르겠습니다). ps ux
cron-tmux가 실행되는 동안 이를 확인할 수 있습니다.
실제 bash가 시작되면 그렇지 않을 수도 있습니다 source ~/.bashrc
. 시도 /bin/bash -i
하거나 스크립트에서 수동으로 가져오십시오.
또한 크론 작업에서는 일반적으로 환경이 작습니다. tmux 세션 에 들어가서 env
사용 가능한 항목을 확인하면 단서를 얻을 수 있습니다.
귀하의 cron이 루트로 실행 중이라면(당신이 언급하지 않았으므로 사용자라고 가정합니다) 그의 bashrc는 작거나 존재하지 않을 수 있으므로 보기 흉한 cmdline입니다.