Rechercher une page de manuel
fork
Langue: ja
Version: 2004-05-27 (ubuntu - 16/08/07)
Section: 2 (Appels système)
̾Á°
fork - »Ò¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë½ñ¼°
#include <sys/types.h>#include <unistd.h>
pid_t fork(void);
ÀâÌÀ
fork() ¤Ï¿Æ¥×¥í¥»¥¹¤È PID (¥×¥í¥»¥¹ ID)¡¢¤ª¤è¤Ó PPID (¿Æ¥×¥í¥»¥¹ ID) ¤À¤±¤¬ °Û¤Ê¤ë»Ò¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë¡£ ¤³¤Î»þ¡¢»ñ¸»ÍøÍÑÎÌ¤Ï 0 ¤ËÀßÄꤵ¤ì¤ë¡£ ¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤ÈÊÝα¤·¤Æ¤¤¤ë¥·¥°¥Ê¥ë¤Ï°ú¤·Ñ¤¬¤ì¤Ê¤¤¡£Linux ¤Ç¤Ï¡¢ fork() ¤ò ½ñ¤¹þ¤ß»þ¥³¥Ô¡¼ (copy-on-write)¡¦¥Ú¡¼¥¸¤òÍѤ¤¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢fork ¤ò¹Ô¤¦¤³¤È¤ÎÍ£°ì¤Î¥Ç¥á¥ê¥Ã¥È¤Ï¡¢ ¿Æ¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¡¦¥Æ¡¼¥Ö¥ë¤òÊ£À½¤È »Ò¥×¥í¥»¥¹¼«¿È¤Î¥¿¥¹¥¯¹½Â¤¤ÎºîÀ®¤Î¤¿¤á¤Î»þ´Ö¤È¥á¥â¥ê¤¬É¬Íפʤ³¤È¤Ç¤¢¤ë¡£
ÊÖ¤êÃÍ
À®¸ù¤·¤¿¾ì¹ç¡¢¿Æ¤Î¼Â¹Ô¥¹¥ì¥Ã¥É¤Ë¤Ï»Ò¥×¥í¥»¥¹¤Î PID ¤¬ÊÖ¤µ¤ì¡¢ »Ò¤Î¼Â¹Ô¥¹¥ì¥Ã¥É¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¡¢¿Æ¥×¥í¥»¥¹¤Ë -1 ¤òÊÖ¤·¡¢»Ò¥×¥í¥»¥¹¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¡£ ¤Þ¤¿¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£¥¨¥é¡¼
- EAGAIN
- ¿Æ¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¡¦¥Æ¡¼¥Ö¥ë¤Î¥³¥Ô¡¼¤È »Ò¥×¥í¥»¥¹¤Î¥¿¥¹¥¯¹½Â¤¤ËÀ¸À®¤ËɬÍפʥá¥â¥ê¤ò fork() ¤¬³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£
- EAGAIN
- ¸Æ¤Ó½Ð¤·¸µ¤Î RLIMIT_NPROC »ñ¸»¤ÎÀ©¸Â (resource limit) ¤Ë㤷¤¿¤¿¤á¤Ë¡¢¿·¤·¤¤¥×¥í¥»¥¹¤òÀ¸À®¤Ç¤¤Ê¤«¤Ã¤¿¡£ ¤³¤ÎÀ©¸Â¤òͤ¨¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤Ï CAP_SYS_ADMIN ¤Þ¤¿¤Ï CAP_SYS_RESOURCE ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤¿¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
- ENOMEM
- ¥á¥â¥ê¤¬Â¤ê¤Ê¤¤¤¿¤á¤Ë¡¢ fork() ¤ÏɬÍפʥ«¡¼¥Í¥ë¹½Â¤ÂΤò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£
½àµò
SVr4, 4.3BSD, POSIX.1-2001.Îã
pipe(2) ¤ª¤è¤Ó wait(2) ¤ò»²¾È¡£´ØÏ¢¹àÌÜ
clone(2), execve(2), setrlimit(2), unshare(2), vfork(2), wait(2), capabilities(7)
La véritable éloquence consiste à dire tout ce qu'il faut,
et à ne dire que ce qu'il faut.
-+- François de La Rochefoucauld (1613-1680), Maximes 250 -+-
et à ne dire que ce qu'il faut.
-+- François de La Rochefoucauld (1613-1680), Maximes 250 -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre