回答:
あなたはこれを述べます:
このアプリ(サーバー)は、SSHを終了した後も存続し、いつでもコンソールに再接続してサーバー上でコマンドを発行できるようにしたいと考えています。
目標はやや漠然としているが、私はそれに挑戦する!
Linuxサーバーでコマンドをバックグラウンドプロセスとして実行するには、コマンドの先頭にコマンドをnohup
追加&
し、最後に追加する必要があります。
したがって、最後のコマンドは次のようになります。
nohup [your command] &
nohup
コマンドは無視して、アンパサンド「UPSハング」必要がある手段&
が追加はバックグラウンドプロセスとしてコマンドを実行するようにシステムに指示するシェルコマンドです。使用方法の詳細については、こちらをご覧ください。
このようなコマンドを実行すると、プロセスが実行され、コマンドプロンプトに戻り、ターミナルセッションを終了するか、そのターミナルセッション中にそのコマンドに関連しない他のことを実行することもできます。
tail -f nohup.out
。同じ作業で実行するだけです。dir。
これを行うには、少なくとも3つの方法があります:(nohup
「ハングアップなし」)、screen
/ tmux
、またはdisown
。サーバーに接続し、切断後にデーモンとやり取りする必要があるかどうかについては、質問から少し不明確です。
これはケースで、場合nohup
とdisown
(それが動作を続けますが)あなたがプロセスを解放するように良い試合ではありません。tmux
(またscreen
)は、あなたがいつでも実行する用語を維持します。
詳細については、それぞれのページをご覧ください。
man nohup
man tux
disown
Google Cloud にはコマンドがないようです。少なくとも、私が使用しているインスタンスは、2019年または2018年後半に開始しました。nohup
コマンドは正常に機能しますが、不要な可能性がある追加のファイルを作成します。
実行中のシェルからアプリケーションを切り離し、シェルの終了後もアプリケーションを存続させるには、nohup
コマンドを使用します。
通常のコマンドにプレフィックスを付けるだけでnohup
動作します。
nohubが機能していない場合も、screen を使用できます。
ssh into your remote box.
type screen次に、必要なプロセスを開始します。
Press Ctrl-A then Ctrl-D.
これにより、スクリーンセッションが切り離されますが、プロセスは実行されたままになります。これで、リモートボックスからログアウトできます。
If you want to come back later, log on again and type screen -r This will resume your screen session, and you can see the output
の
あなたのプロセス。