web-dev-qa-db-ja.com

EC2アマゾンウェブサービスのLinuxインスタンスの「Nohup」に関する問題

アマゾンウェブサービスEC2のUbuntuシステムに取り組んでいます。インスタンスを作成しましたが、システムでnode.jsサーバーを実行する必要があります。作業ディレクトリにsshして次のコマンドを使用すると、

:~/Test1$ node server.js

サーバーは正常に動作します。コードは問題なく実行されます

次に、ターミナルが閉じているときでも、バックグラウンドプロセスとしてserver.jsコードを実行します。そのために、私はNohupコマンドを&

:~/Test1$ Nohup node server.js &

これにより、server.jsも起動しますが、ターミナルを閉じるとserver.jsが機能しなくなるため、Nohupコマンドは機能しないようです。 Sudoコマンドでもコードを試しました

:~/Test1$ Nohup Sudo node server.js &

しかし、それは何もしません。

私は何が間違っているのですか?そして、どうすればこれを機能させることができますか?ありがとう。

2
pi3.14

私はまったく同じ問題を抱えていました。私はあなたと同じようにノードサーバーを実行していました:

Nohup node server.js &

このように、プロセスはターミナルセッションで実行されます。これが、ターミナルセッションが開いたままであるため、プロセスが長持ちする理由です。

代わりに、別のセッションでプロセスを実行してみてください。

setsid Nohup serve.js &

このようにしてみてください、それは私のために働いた。

1
Andrea De Luisi