我有一个 bash 脚本,它可以杀死并重新创建 tmux 会话,该脚本可以从命令行运行良好,但是当我从 cron 运行时,tmux 杀死可以工作,但创建会话会输出“丢失的服务器”并且不会创建任何会话。
cron 配置是通过crontab -e
与从命令行成功运行脚本的同一用户运行来完成的。我不知道用户环境中的任何内容(没有个性化的配置文件内容)。这是在 Ubuntu 18.4 上运行
tmux 脚本是:
tmux kill-session -t "bothapps"
tmux new-session -s "bothapps" \; \
send-keys "htop" C-m \; \
split-window -v -p 65\; \
send-keys "sudo python3 myapp1.py" C-m \; \
split-window -h \; \
send-keys "sudo python3 myapp2.py" C-m \; \
detach
可以工作kill-session
,但new-session
输出“丢失的服务器”而不创建会话。我猜想这与 cron shell 没有附加 tty 有关,但不知道如何解决它。
有什么想法出了什么问题吗?