![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
システムコールのfork()の勉強をしています。
fork()によって作られたプロセスのそれぞれのpidとppidを知りたいのですが頭がこんがらがってしまいました。
「forkシステムコールは親プロセスには作成された子プロセスのプロセスIDが、子プロセスには0が返る」とあったので以下のコードの場合
pid = fork();
if(pid == 0)
printf("%s, child process\n", msg);
else
printf("%s, parent process\n", msg);
子のpidが0のためifが実行され、親はelseが実行される
というところまで理解できたのですが
このとき親のpidは子のID、子のpidは0なのでしょうか?
教科書の図(添付)を見ると親のpidは0で子、孫になるにつれてpidが大きくなっていてよくわからなくなってしまいました。
例えば以下のようなコードがあった場合、
pid_t pid;
// メインプロセスのPIDは42
pid = fork(); // プロセスをPID=11で作成
if (pid == 0) {
pid_t pid2 = fork(); // プロセスをPID=25で作成
if (pid2 == 0) {
sleep(20);
exit(0);
}
waitpid(pid2,NULL,0);
exit(0);
} else {
pid_t pid3 = fork(); // プロセスをPID=89で作成
if (pid3 == 0) {
sleep(10);
printf("** ONE **\n");
exit(0);
}
pid_t pid4 = fork(); // プロセスをPID=123で作成
if (pid4 == 0) {
sleep(30);
printf("** TWO **\n");
exit(0);
}
}
sleep(20);
exit(0);
それぞれのプロセスのpidとppidはどうなるのでしょうか?
説明がうまくできないのですが、
分かる方いましたら回答よろしくお願いします。
![「fork()のpidとppid」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/4/1204402_5497bcde1083f/M.jpg)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 作詞・作曲 中森明菜『ミ・アモーレ』の歌詞では、ISAS打ち上げの小惑星探査機ハヤブサの数奇な運命を暗示してる? 2 2022/11/18 19:51
- 工学 エジプトやマヤのピラミッド構造物は宇宙という未知の領域への推進機構をデザイン化・神格化したもの? 2 2022/11/01 05:05
- 地理学 映画『ガメラ対ゴジラ』は国際社会VSロシア連邦といった世界的危機の到来を予測していたのかもね? 2 2022/04/10 12:52
- 工学 PID制御 1 2022/07/27 11:50
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- 洋画 映画『ヘルレイザー』(2022年)の最新作は勿論露国プーチン大統領。ウクライナ戦争を題材に構成? 1 2022/11/19 16:37
- その他(アウトドア) この舟はどうやって乗るのですか? 6 2022/03/27 09:14
- 工学 PID制御について質問です。 4 2023/01/22 11:23
- 雑誌・週刊誌 鈴木大拙と猫が掲載された週刊誌 1 2022/12/02 11:18
- 競輪 競輪の過去データでコピペしやすいサイト 3 2023/07/10 18:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
Windowsで同時にオープンできる...
-
プロセスがタスクマネージャー...
-
Windowsで作れるスレッド最大数...
-
Powershell プロセス二重起動
-
プロセスの終了について教えて...
-
Windows 10のエクスプローラー...
-
コマンドライン上でファイルを...
-
アプリケーションエラーを発生...
-
強制終了できないプロセスの強...
-
実行中のプロセスのシステムコ...
-
Dirコマンドでフォルダ内ファイ...
-
父子家庭、 子供の進学費用を全...
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
至急です、Ubuntuに詳しい方助...
-
Linux(Fedora)で外付けHDDが...
-
ファイル名についている「-」と...
-
batである文字列内に特定の文字...
-
UNIX コマンドにおける # や円...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
プロセス、サービス、デーモン...
-
System Idle Processってなに?...
-
タスクマネージャのCPU率がおか...
-
タスクバーの音量アイコンをク...
-
コマンドライン上でファイルを...
-
Powershell プロセス二重起動
-
プロセスがタスクマネージャー...
-
【プログラム】 iu14d2n.tmp ...
-
Windows 10のエクスプローラー...
-
実行中のプログラムを調べるには?
-
ps コマンドのステータス。S Ss...
-
プロンプトが返らない
-
タスクマネージャで終了できな...
-
強制終了できないプロセスの強...
-
CPU使用率取得方法について
-
HP-UXでのプロセス別メモリ使用...
-
CPU使用率が常に50~10...
-
killコマンドの終了と強制終了...
-
Windowsで作れるスレッド最大数...
おすすめ情報