Linuxサーバーと対話するために、パテを使用しています。パテを使用してプロセスを開始しました。プロセスは実行中であり、5〜6時間かかります。パテセッションを閉じた後も、そのプロセスを実行し続けたいと思います。パテセッションを閉じた後、そのプロセスを生き続けるにはどうすればよいですか?コンピューターを常時オンにしたくない。これを行う方法はありますか?
Linuxサーバーと対話するために、パテを使用しています。パテを使用してプロセスを開始しました。プロセスは実行中であり、5〜6時間かかります。パテセッションを閉じた後も、そのプロセスを実行し続けたいと思います。パテセッションを閉じた後、そのプロセスを生き続けるにはどうすればよいですか?コンピューターを常時オンにしたくない。これを行う方法はありますか?
回答:
nohup
コマンドを使用します。コマンドの前に付けるだけでデーモン化され、シェルセッションをログオフ/終了したときに停止しないようになります。標準出力は、デフォルトでnohup.outというファイルに保存されます。詳細については、マニュアルページを確認してnohup(1)
ください。
disown
プロセスを使用して、切断しても実行し続けることができます。
上記のソリューションは非常によく説明されていますが、PuTTYの構成を次のように編集するまで、それらのいずれも機能しませんでした
TCPキープアライブを有効にする(SO_KEEPALIVEオプション)
私はこれを他のどこにも見たことがなく、試行錯誤で見つけました。
Ctrl + z現在のプロセスをバックグラウンドに送信します。
また、コマンドの最後に&を追加して、バックグラウンドで実行できます。
プロセスがnodejs用であり、最初にstackoverflowに投稿したので、それがあなたの意図である場合があります。私はもともとこの質問を自分で探していました。pm2を見つけましたが、すごいです。他の回答は一般的なパテに役立ちますが、ノード固有の場合、監視が組み込まれており、セットアップは単に
$ npm install pm2 -g
$ cd yourappdirectory
「PM2は、ロードバランサーが組み込まれたNode.jsアプリケーションのプロダクションプロセスマネージャーです。アプリケーションを永久に維持し、ダウンタイムなしでリロードし、一般的なシステム管理タスクを容易にすることができます。
実稼働モードでのアプリケーションの起動は次のように簡単です:」
$ pm2 start yourappname.js
「保存してからフリーズコマンドを使用すると、再起動時にプロセスを自動起動できます」
$ pm2 save
$ pm2 freeze
その監視のため
$ pm2 monit
そして再起動
$ pm2 restart yourappname
直接ロギング情報用
$ pm2 logs
これで、私のディジアロシーブラウザウィンドウ(スクロールアップできなかった)を使用する代わりに、2つのパテウィンドウを簡単に実行できます。詳細については、メインgithubを参照してください
https://github.com/Unitech/pm2
すごい。