スクリプトをローカルで実行する必要があります。問題は、screen
ctrl dコマンドを使用して送信する必要があることです。
どうすればいいですか?スクリプトは私のローカルWindowsコンピュータにあります。 Winscp、Putty、mingw、その他のアプリケーションを使用できます。
答え1
あなたはそれを使用することができます予想される(ホームページ期待されます、ほとんどのUNIXソフトウェアディストリビューションに含まれています)を使用して、テキスト端末で実行されているプログラムとのやり取りをスクリプトとして作成します。
ただし、目的のタスクを実行するより簡単な方法があるかもしれません。すべてのコマンドラインからscreenセッションにコマンドを送信でき、screenのstuff
コマンドを使用して画面ウィンドウに入力を挿入できます。バラより-Xで渡されたコマンドに対して画面が何もしないように見えるのはなぜですか?、外部からスクリーンセッションに入力を送信するいくつかの例を見てください。
screen -S sessionname -p windowname -X stuff $'\004'
この回答が役に立たない場合は、必要な作業に関する追加情報を提供してください。
答え2
画面の手動(1)
-d|-D [pid.tty.host] does not start screen, but detaches the elsewhere running screen session. It has the same effect as typing "C-a d" from screen’s controlling terminal. -D is the equivalent to the power detach key. If no session can be detached, this option is ignored. In combination with the -r/-R option more powerful effects can be achieved:
私は通常、screen -AmdS sessionname commandline
スクリーンセッションでコマンドラインを実行してすぐに切り離すことに慣れています。たとえば、cronjobでscreenを実行します。
@reboot /usr/bin/screen -AmdS shoutcast /home/foo/sc_serv /home/foo/sc_serv.conf
既存の別々の画面に新しいコマンドを追加してすぐに切り離します。
screen -dr sessionname -X commandline
答え3
あなたの合意は私にとって意味がありません。画面外から画面にキーを送信する方法を尋ねていますか?このシナリオを使用できますexpect
。カスタムプロファイルのようこそ画面を使用してCtrl-Dを送信しやすいものに変更することもできます。