脚本启动任务并挂载到screen或者tmux中
nas每次开机需要执行很多任务
所以想通过开机启动的脚本来自动运行任务并挂载到screen或者tmux中。
搜了一下,找到了可行的方案,记录一下:
screen
screen -dmS jobs
# 创建一个窗口叫bash
screen -S jobs -X screen bash
# 改变窗口名为job1
screen -S jobs -p bash -X title job1
# job1窗口运行top命令,下同
screen -S jobs -p job1 -X stuff $'top\
'
screen -S jobs -X screen bash
screen -S jobs -p bash -X title job2
screen -S jobs -p job2 -X stuff $'htop\
'
# 运行之后,会产生3个窗口,一个是screen默认的,一个是job1,一个是job2,job1运行top, job2运行htop
tmux
tmux new -s "jobs" -d
# 修改默认窗口名
tmux rename-window -t "jobs" jobs
# 新增一个窗口job1
tmux neww -a -n job1 -t "jobs"
# job1 执行top命令
tmux send -t "jobs:job1" "top" Enter
# 运行之后,会产生2个窗口,一个是jobs,一个是job1,job1运行top,tmux split-window 这些操作暂时还用不着
注意:tmux 搭配 zsh会导致窗口名不断变化,所以需要在配置文件中加上:
DISABLE_AUTO_TITLE=true