
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
forkを2回というのは孫プロセスを作ってそれに作業させるということでしょうか。
この場合、子プロセスを終了させてしまうと孫プロセスの親プロセスはinitd(PID=1)になります。孫プロセスの終了時にはinitdが処理してくれるので自プロセスは何もしなくとも良いということでしょう。
# 子プロセスの終了は待たないといけないが孫プロセスの起動だけなので短時間に済む
No.1
- 回答日時:
unix系OSの前提でいいんですよね。
子プロセスは、実行が終了してもその終了シグナルを親プロセスがwaitで捕まえてくれるまでゾンビ状態で残ります。forkが1回の場合は間違いなく親のほうでwaitしてやらないといけません。親が先に終わるのならしなくてもいいですが。
forkを2回ということは、子プロセスは孫を作るとすぐに終了して、実際の処理は孫プロセスがやるわけですが、孫の親である「子」が終了した時点で、孫の親はinitプロセスが引き継ぎますので、waitを行うのはinitプロセスが代行してくれます。
まあ、好き好きでどちらでもいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
プロセスIDからウィンドウハ...
-
子プロセスの状態を親プロセス...
-
WSH.Runで待機できません
-
CPU、 マザーボードについて
-
Linuxのchdir(カレントディレク...
-
アプリケーションが終了するま...
-
他のアプリケーションの起動と...
-
GetModuleFileNameでエラーが出...
-
タスクマネージャーのプロセス...
-
Visual C++からpingを実行して...
-
VB.NET 自プログラムのプロセス...
-
sambaのsmbmount使用時のパスワ...
-
スマホ Androidの方、又は機械...
-
popen について
-
C++のプログラムをバックグラウ...
-
AppActivate関数について
-
プロセス終了の検知について
-
起動中の他のプログラム(orプ...
-
プロセスIDの取得方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タスクマネージャーのプロセス...
-
バックグラウンドのプロセスの...
-
プロセスのアタッチ・デタッチ...
-
OSPFでプロセスを分ける意義に...
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
vb.netでEXCEL起動がうまくでき...
-
C#でのbatファイル実行結果取得
-
プロセスIDの取得方法について
-
Linuxでのスレッド間メッセージ...
-
Visual C++からpingを実行して...
-
SendMessageが失敗するときがある
-
IISがフリーズ
-
スティーブ・ジョブズはプログ...
-
c言語でプロセスIDを調べたい
-
特定ユーザーのプロセス情報を...
-
怪しいプロセス教えてください。
-
セマフォとmutexの違いは?
-
Windowsでのfork方法
おすすめ情報