bashスクリプトはtmuxセッションで別のスクリプトを起動します。

bashスクリプトはtmuxセッションで別のスクリプトを起動します。

実行中にいくつかの情報を出力し続けるbashスクリプトがあります。しなければならない

  1. システムが起動すると自動的に実行されます。
  2. SSHを使用してこの出力を監視し、間隔を置いてリモートで制御します。

これにはtmuxを使いたいです。それでは、この問題にどのように対処する必要がありますか?簡単にするために、私のシェルスクリプトが次のようになるとしましょう。

ファイル名: start.bash

#!/bin/bash
# just an example for simplicity    
watch date

tmuxで実行し、必要に応じて後で接続できるようにするには、別のスクリプトが必要です。名前を使用して新しいtmuxセッションを作成し、他のシェルスクリプトを実行する必要がある部分に問題があります。これを完了したら、それを別のシェルスクリプトに入れて残りを処理できます。簡単だと思います。誰かがこの特定のステップの例を挙げることができますか?

ベストアンサー1

さまざまな方法でこれを実行できます。

sendキーを使用してセッションを作成した後、これを実行できます。

tmux new -s "remote" -d
tmux send-keys -t "remote" "start.bash" C-m
tmux attach -t "remote" -d

またはシェルを介して:

tmux new -s "remote" -d "/bin/bash"
tmux run-shell -t "remote:0" "start.bash"
tmux attach -t "remote" -d

おすすめ記事