「画面」を使ってリモートスクリプトを実行するには?

「画面」を使ってリモートスクリプトを実行するには?

スクリプトをローカルで実行する必要があります。問題は、screenctrl 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を送信しやすいものに変更することもできます。

関連情報