我正在尝试自动创建 tmux 会话和其中运行命令的窗口,并有一个脚本来执行此操作,虽然当我从命令行运行它时它工作正常,但如果我从 cron 或从后台运行它,它会失败/nohup 进程。
那么 tmux 需要交互式 TTY 会话才能创建 tmux 会话/窗口是否有任何限制?
关于我在这个问题中尝试做的更多细节,尽管我实际上是在问 tmux 是否可以运行“无头”这一更普遍的问题: cron 中的 tmux 失败“服务器丢失”
我指的“后台进程”是,我尝试创建一个 tmux 会话,其中一个窗口正在运行一个循环查找条件的脚本,如果找到,它会运行另一个脚本来终止 tmux 会话,然后重新创建它。这确实杀死了但没有创建,可能是因为脚本在它杀死的会话内运行,但是当我尝试使用&
后台或nohup
杀死/重新创建 tmux 会话的进程时,它成功杀死了但创建了什么也没做(我认为没有错误)。
我不太熟悉screen
,失败的地方有可能成功吗?
有什么建议么?
答案1
您可以告诉 tmux 启动一个新会话并立即分离。
tmux new-session -d
如果给它一个名称,您可以检查会话是否已经在运行。
tmux has-session -t session_name || tmux new-session -d -s session_name