
これを自動化するために、bashコマンドの1行を実行したいと思います。
screen -S myserver
python myserver.py # inside the new screen
CTRL A, D (detach)
私はこれがうまくいかないと思います:
screen -S myserver && python myserver.py
python myserver.py
始まらないから~へこれscreen
。
答え1
プログラム実行後すぐに取り外し可能~へ画面:
screen -dmS myserver python myserver.py
~から画面のマニュアルページ
-DM 分離モードの実行画面です。これにより、新しいセッションが作成されますが、接続されません。これはシステム起動スクリプトに役立ちます。
答え2
@Stefan Mの答えは良いですが、コマンドが終了すると画面全体が終了するため、画面内でコマンドを実行するのとは異なります。実際に画面でコマンドを実行すると、コマンドの終了時にシェルが残ります。
次のコマンドを使用してシェルを保存できます。
screen -s "/bin/bash" -dmS myserver; screen -S myserver -X stuff "python myserver.py\n";
これにより、まずシェルで画面が起動され、次にそのシェルで実行されるコマンドがいくつか送信されます。これは、画面に直接これらのコマンドを入力するのと同じです。
詳細なスクリプトはここで確認できます。https://unix.stackexchange.com/a/766301/598166