タグ

memoとforkに関するkarahiyoのブックマーク (1)

  • C言語forkメモ(Hishidama's C "fork" Memo)

    S-JIS[2012-11-17] fork関数 fork()は、C言語(UNIX系)で子プロセスを起動する関数。 概要 fork()を使うと、実行中の状態(コンテキスト)すなわち現在のプロセスが使っているメモリーの中身が全て複製され、子プロセスが起動される。 したがって、ローカル変数やポインター等もそのまま使える。 fork()前にmalloc()等で確保していた領域もそのまま使えるが、free()は親プロセス側と子プロセス側で別々に行う必要がある。 (ポインターの値を表示してみると、親プロセス側も子プロセス側も同じ値が表示される。しかしOSレベルでは別の領域が割り当てられているので、実際は被ってはいない。ポインターは、いわば“プロセスに割り当てられたメモリーの先頭アドレス”からの相対値に過ぎない) fork()の戻り値は、-1ならエラー、0なら子プロセス起動成功、正の数は起動された子プ

  • 1