fork

FORK(2)                    리ëì¤ íë¡ê·¸ë머 매ë´ì¼                   FORK(2)



ì´ë¦
       fork - ìì íë¡ì¸ì¤ë¥¼ ë§ë ë¤.

ì¬ì©ë²
       #include <unistd.h>

       pid_t fork(void);

ì¤ëª
       forkë ë¶ëª¨ íë¡ì¸ì¤ìë ë¨ì§ PIDì PPIDë§ì´ ë¤ë¥¸ ìì íë¡ì¸ì¤ë¥¼ ë§ë ë¤.
       ê·¸ë¦¬ê³  ìì ì¬ì©ëì 0ì¼ë¡ ë§ì¶ë¤. íì¼ ë½(lock)ê³¼ ìê·¸ë íë©(pending)ì
       ììë°ì§ ìëë¤.

       리ëì¤ìì, forkë copy-on-wite íì´ì§ë¤ë¥¼ ì¬ì©íì¬ ìíëë©°, forkì ì ì¼í
       ë¨ì ì ë¶ëª¨ íë¡ì¸ì¤ì íì´ì§ íì´ë¸ì ë³µì¬íê³  ìì íë¡ì¸ì¤ì ëí task
       구조체를 ë§ë¤ê¸° ìí´ íìí ìê°ê³¼ ë©ëª¨ë¦¬ì´ë¤.

ë°íê°
       ì±ê³µì, ìì íë¡ì¸ì¤ì PIDê° ë¶ëª¨ìê² ë¦¬í´ëë©°, ìììê²ë 0ì´ ë¦¬í´ëë¤.
       ì¤í¨í  ê²½ì°, -1ì´ ë¶ëª¨ìê² ë¦¬í´ëë©°, ììì ìì±ëì§ ìëë¤. 그리ê³
       errnoë ì ì í ê°ì¼ë¡ ì¤ì ëë¤.

ìë¬
       EAGAIN ë¶ëª¨ íë¡ì¸ì¤ì íì´ì§ íì´ë¸ë¤ì ë³µì¬í기 ìí 충ë¶í ë©ëª¨ë¦¬ë¥¼
              í ë¹í  ì ìê±°ë ìì íë¡ì¸ì¤ë¥¼ ìí´ íì¤í¬ 구조체를 í ë¹í  ì
              ìë¤.

       ENOMEM ë©ëª¨ë¦¬ê° ê½ ì°¨ì íìí 커ë 구조체를 í ë¹í  ì ìë¤.

í¸í
       SVr4, SVID, POSIX, X/OPEN, BSD 4.3

ê´ë ¨ í목
       clone(2), execve(2), vfork(2), wait(2)

ìì
       ì ê°í <skyeyes@soback.kornet.net>, 2000ë 4ì 27ì¼



리ëì¤ 1.2.9                     1995ë 6ì 10ì¼                         FORK(2)