|
|
1.1 ! root 1: .TH FORK 2 ! 2: .CT 2 proc_man ! 3: .SH NAME ! 4: fork \(mi spawn new process ! 5: .SH SYNOPSIS ! 6: .nf ! 7: .B int fork() ! 8: .fi ! 9: .SH DESCRIPTION ! 10: .I Fork ! 11: is the only way new processes are created. ! 12: The new process's image is a copy of ! 13: that of the caller of ! 14: .IR fork . ! 15: The only distinction is ! 16: that the value returned in the old (parent) process ! 17: is the process id ! 18: of the new (child) process, ! 19: while the value returned in the child is 0. ! 20: Process ids range from 1 to 30,000. ! 21: The process id is used by ! 22: .IR wait ! 23: (see ! 24: .IR exit (2)) ! 25: and ! 26: .I kill ! 27: (see ! 28: .IR signal (2)). ! 29: .PP ! 30: Files open before the ! 31: .I fork ! 32: are shared, and have a common read-write pointer. ! 33: This is the way that ! 34: .IR sh (1) ! 35: passes standard input and output ! 36: files and sets up pipes. ! 37: .SH "SEE ALSO" ! 38: .IR exit (2), ! 39: .IR signal (2), ! 40: .IR sh (1) ! 41: .SH DIAGNOSTICS ! 42: .BR EAGAIN , ! 43: .BR ENOMEM
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.