Linuxサーバーとの対話にPuTTYを使用しています。 PuTTYを使用してプロセスを開始しました。プロセスは実行中であり、5〜6時間かかります。 PuTTYセッションを閉じた後も、そのプロセスを実行し続けたいです。 PuTTYセッションを閉じた後、そのプロセスを存続させるにはどうすればよいですか?コンピュータを常時オンにしたくない。これを行う方法はありますか?.
そのようなものには screen を使用します。実際、時々私はそれをかなり長い間そのままにしておくので、私がやっていたことに戻ることができます。
^Z
bg %1
disown -h %1
'-h'は、セッションの完了時にプロセスをSIGHUPの影響を受けないようにします。
Nohup
コマンドを使用します。コマンドの前に付けるだけで、デーモン化され、シェルセッションをログオフ/終了しても停止しなくなります。デフォルトでは、標準出力はNohup.outというファイルにあります。詳細については、Nohup(1)
のマニュアルページを確認してください。
Nohup "processname" &
でプロセスを開始します。 screen
またはtmux
を使用してデタッチすることもできます。
上記のソリューションは非常によく説明されていますが、PuTTY構成を次のように編集するまでは、どれもうまくいきませんでした。
有効にするTCPキープアライブ(SO_KEEPALIVEオプション)
私はこれを他のどこでも見たことがなく、試行錯誤で見つけました。
Ctrl + z現在のプロセスをバックグラウンドに送信します。
また、バックグラウンドで実行するコマンドの最後に&を追加することもできます
PuTTYウィンドウを閉じた後にweblogicを実行し続ける方法:
簡単な手順:PuTTYからログインした後、次の手順に従います。
startWebLogic.sh
コマンドが配置されているサーバーのディレクトリに移動します。screen
を入力して、 Enter (新しい画面が開きます)。./startWebLogic.sh
を入力します。screen -r
を入力します。プロセスに含まれているプログラムを常にまたは頻繁にバックグラウンドで実行する場合は、制御ターミナルから分離するようにコーディングして(そのような動作をオプションフラグで制御可能にする)、バックグラウンドで実行できます。
もちろん、これは現在実行中のプロセスではなく、長期的な解決策です。
&
リンクの後。
例:
[localhost ~ ]# wget http://www.link.com/download/download.Zip &
プロセスがnodejs用であり、元々これをstackoverflowに投稿したため、それがあなたの意図である可能性があります。私はもともとこの質問を自分で探していました。私はpm2を見つけました。他の回答は一般的なPuTTYに役立ちますが、ノード固有の場合、組み込みの監視機能があり、セットアップが単純であるため、これは断然最良の回答です。
$ npm install pm2 -g
$ cd yourappdirectory
「PM2は、ロードバランサーが組み込まれたNode.jsアプリケーションのプロダクションプロセスマネージャーです。これにより、アプリケーションを永久に存続させ、ダウンタイムなしで再ロードして、一般的なシステム管理タスクを容易にすることができます。
プロダクションモードでのアプリケーションの起動は次のように簡単です。」
$ pm2 start yourappname.js
「保存してから凍結コマンドを使用すると、再起動時にプロセスが自動起動するようになります」
$ pm2 save
$ pm2 freeze
その監視のため
$ pm2 monit
そして再起動
$ pm2 restart yourappname
直接ログ情報も
$ pm2 logs
私のdigialoceanブラウザウィンドウ(上にスクロールできなかった)を使用する代わりに、2つのPuTTYウィンドウを簡単に実行できるようになりました。詳細については、メインのgithubを参照してください
https://github.com/Unitech/pm2
すごい。