2番目のコマンドは、最初のコマンドが終了するまで実行されず、最初のコマンドを使用してバックグラウンドで実行しようとすると、次のコマンドが機能せず、次の&
エラーが発生します。
まず、バックグラウンドで実行を試しましたが、-d -m
分割は機能しませんでした。
端末に接続する必要があります。
screen -S test -t foo long_lived_process_1
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar long_lived_process_2
答え1
使用時にscreen -S test some command
画面をバックグラウンドで送信せずにすぐに点灯します。したがって、これらのコマンドを実行するスクリプトは停止し、その画面に対して次のコマンドは実行されません。
だから最初にバックグラウンドで送信してから、別のコマンドを送信する必要があるようです。
screen -S test -d -m top
screen -S test -X title foo
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar watch free
screen -S test -R
仕事を始めず、-S test -d -m -t foo top
タイトルもつかまなかったが、とにかく最初のウィンドウは特別なケースでした。 (ダミーオブジェクトとして保持し、最後に実行することを決定しない限り-X select 0
。-X kill
)
にコマンドを入れることもできますscreenrc
。マニュアルページには、このように設定する例があります。