tmuxセッションを作成し、コマンドを実行するウィンドウと、これを実行するためのスクリプトを自動化しようとしています。コマンドラインから実行すると正常に動作しますが、cronまたはcronで実行すると失敗します。バックグラウンド/nohupプロセスで。
もしそうなら、tmuxセッション/ウィンドウを作成するにはtmuxで対話型TTYセッションが必要であるという制限がありますか?
私は実際にtmuxを「ヘッドレス」として実行できるかどうかについてより一般的な質問をしていますが、この質問で私がやろうとしていることの詳細は次のとおりです。 cronのtmuxが「サーバーの損失」のため失敗します。
「バックグラウンドプロセス」とは、tmuxセッションを作成しようとしていますが、ウィンドウの1つが条件を見つけるために繰り返しスクリプトを実行しています。これは終了しますが、生成しません。それはおそらく、スクリプトが終了するセッション内で実行されているからです。ただし、&
バックグラウンドを使用するか、nohup
tmuxセッションのプロセスを終了/再生しようとすると正常に終了しますが、何も生成されません。エラーがあったとは思えません。)
私はそれについてよく知りませんscreen
。失敗したところで成功できますか?
どんな提案がありますか?
答え1
tmuxに新しいセッションを開始してすぐに切断するように指示できます。
tmux new-session -d
名前を指定すると、セッションがすでに実行中であることを確認できます。
tmux has-session -t session_name || tmux new-session -d -s session_name