プログラムをデーモンとして実行するのとnohupと&を使用することに違いはありますか?

プログラムをデーモンとして実行するのとnohupと&を使用することに違いはありますか?

プログラムをデーモンとして実行しようとしていますが、現在のアプローチにはrootアクセスが必要です。私はプログラムをサービスとして実行するのではなく、&でnohupコマンドを使用してバックグラウンドにプッシュできるかどうか疑問に思います。

以前も同様の質問があったことがわかっています。プログラムをデーモンとして実行することと「&」を使用してバックグラウンドに分岐することの違いは何ですか?

しかし、nohupコマンドを追加すると、デーモンのように実行されるかどうか疑問に思います。

ベストアンサー1

デーモンを実行することとバックグラウンドでプログラムを実行することには違いがあります。実際には、フォアグラウンドでデーモンを実行することが可能です。

デーモンモードは、ユーザー対話コンポーネントなしで無限ループで実行されるソフトウェアの他の機能です。 &を使用しても、ソフトウェアがstdinの入力とstdoutの出力を継続して許可しないという保証はありません。多くの場合、デーモンモードには、デーモンモードでデフォルトでより徹底的なソフトウェアロギングなどのさまざまな機能があります。標準モードでは標準出力にのみ出力します。 Nohupはソフトウェアの出力を無視しますが、ソフトウェアはデーモンモードでは実行されません。最悪の場合、ソフトウェアにユーザー入力が必要な場合は中断される可能性があります。

おすすめ記事