回答:
分離モード()で端末サイズ()に適応-S
する名前付きウィンドウ(-t
)で名前付きスクリーンセッション()を開始します。-A
-d -m
screen -S mySessionName -t myWinName0 -A -d -m
-t
同じスクリーンセッション(-S
)で別の名前付きウィンドウ()を開始します。
screen -S mySessionName -X screen -t myWinName2
セッション()-X stuff $'cmds'
の最初の名前付きウィンドウ(-p
)にいくつかのコマンド()を詰め込みます-S
。
screen -S mySessionName -p myWinName0 -X stuff $'echo myWinName0\necho cmd1\necho cmd2\n'
セッション()-X stuff $'cmds'
の2番目の名前付きウィンドウ(-p
)にいくつかのコマンド()を詰め込みます-S
。
screen -S mySessionName -p myWinName1 -X stuff $'echo myWinName1\necho cmd1\necho cmd2\n'
スクリーンセッションをリストし、何が起こったのかを再接続します。
screen -ls
screen -r mySessionName
注:改行(\n
)はを押すことをシミュレートしEnterます。セミコロンを使用してコマンドを区切ることもできます。
内部画面:
:screen newcmd
実行するnewcmd
外側:
screen -X testen "screen newcmd"
上記のアプローチを試しましたが、2番目のコマンドは2番目のウィンドウで実行されませんでした。ウィンドウ名の代わりにウィンドウ番号を使用して、例を少し調整しました。
セッションを作成する
screen -S mySessionName -t 0 -A -d -m
2番目のウィンドウを作成する
screen -S mySessionName -X screen -t 1
最初のウィンドウにコマンドを送信します
screen -S mySessionName -p 0 -X stuff $'echo myWinName0\necho cmd1\necho cmd2\n'
コマンドを2番目のウィンドウに送信する
screen -S mySessionName -p 1 -X stuff $'echo myWinName0\necho cmd1\necho cmd2\n'
コマンドが最初のウィンドウで実行されたかどうかを確認します
screen -R mySessionName -p 0
コマンドが2番目のウィンドウで実行されたかどうかを確認します
screen -R mySessionName -p 1
画面4.00.03(CENTOS 6.3 x64)でテスト済み。
screen -S sessionName -t windowName1 -Adm <command> && screen -S sessionName -X screen -t windowName2 -Adm <command2>