GNU/Linux >> Linux の 問題 >  >> Linux

Node.js をバックグラウンド プロセスとして実行し、死ぬことはありませんか?

nohup node server.js > /dev/null 2>&1 &

<オール>
  • nohup 意味:stty が切断されても、このプロセスを終了しない
  • > /dev/null 意味:stdout は /dev/null (出力を記録しないダミーデバイス) に移動します。
  • 2>&1 意味:stderr も stdout に移動します (既に /dev/null にリダイレクトされています) )。エラーのログを保持するために、&1 をファイル パスに置き換えることができます。例:2>/tmp/myLog
  • & 最後の意味:このコマンドをバックグラウンド タスクとして実行する

  • 簡単な解決策 (プロセスに戻ることに興味がない場合は、実行を続けてください):

    nohup node server.js &
    

    jobs もあります コマンドを実行して、それらのバックグラウンド プロセスのインデックス付きリストを表示します。 kill %1 を実行すると、バックグラウンドのプロセスを強制終了できます。 または kill %2 番号はプロセスのインデックスです。

    強力なソリューション (インタラクティブなプロセスの場合、プロセスに再接続できます):

    screen
    

    その後、Ctrl+a+d を押してデタッチし、screen -r を実行して再度アタッチできます。

    screen の新しい代替手段である tmux も検討してください。


    screen を使用するようにしてください。 . nohup long_running & を実行するよりも少し複雑です 、しかし、一度画面を理解すると、二度と戻ってこなくなります。

    最初に画面セッションを開始します:

    [email protected]:~$ screen
    

    何でも実行してください:

    wget http://mirror.yandex.ru/centos/4.6/isos/i386/CentOS-4.6-i386-binDVD.iso
    

    ctrl+A を押してから d を押します。終わり。あなたのセッションはバックグラウンドで進行中です。

    screen -ls ですべてのセッションを一覧表示できます 、および screen -r 20673.pts-0.srv でいくつかに添付します コマンド、0673.pts-0.srv はエントリ リストです。


    Linux
    1. Ssh –実行中のプロセスを破棄して新しいスクリーンシェルに関連付ける方法は?

    2. $ termはどこでどのように解釈されますか?

    3. 再開後および画面のロック解除後にスクリプトを実行するにはどうすればよいですか?

    1. Rsync プロセスをバックグラウンドで実行する方法

    2. Linuxでスクリーンプロセスを停止するには?

    3. Golang Web サーバーをバックグラウンドで実行するにはどうすればよいですか?

    1. Linuxコマンドをバックグラウンドで起動し、ターミナルでプロセスをデタッチする方法

    2. Linuxでゾンビプロセスを見つけて殺す方法

    3. プロセスをバックグラウンドで継続させるために、1回のキープレスでCtrl-Zとbgを実行するにはどうすればよいですか?