親シェルを終了せずに孤児プロセスを作成するには?

親シェルを終了せずに孤児プロセスを作成するには?

Bashシェルでは、孤立プロセスを作成するためにnohup mycommand &コマンドを実行した後、bashシェルを閉じました。親シェルを終了せずに実行できますか?システムコールブランチ()およびシャットダウン()に似たデーモン用のシェルコマンドがあるかどうか疑問に思います。

答え1

孤立プロセスを作成するには、親プロセスを終了する必要があります。シェルが死ぬことを望まない場合、シェルは孤児の親ではないはずです。最も簡単な方法は、シェルが子プロセスをフォークしてそのプロセスが孤児になるようにすることです。このデュアルフォークは、次のようにデーモンプロセスが開始される方法です。Wikipedia 記事の紹介

シェルからサブプロセスを作成する方法をすでに知っています&(同じシェルのフォーク)。 。

{ nohup mycommand & } &

関連情報