|
|||||||
|
|
MKNODSection: Linux Programmer's Manual (2)Updated: 29 March 1994 Index Return to Main Contents ̾Á°mknod - ÆÃ¼ì¥Õ¥¡¥¤¥ë¤äÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë½ñ¼°#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int mknod(const char *pathname, mode_t mode, dev_t dev); ÀâÌÀmknod ¤Ï pathname ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥Î¡¼¥É (¥Õ¥¡¥¤¥ë¡¢ ¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢Ì¾Á°ÉÕ¤¥Ñ¥¤¥×) ¤ò¡¢ mode ¤È dev ¤Î»ØÄê¤Ë¤·¤¿¤¬¤Ã¤ÆºîÀ®¤¹¤ë¡£mode ¤Ë¤ÏºîÀ®¤¹¤ë¥Î¡¼¥É¤Îµö²Ä°À (permission) ¤È¥¿¥¤¥×¤ò»ØÄꤹ¤ë¡£ mode ¤Ë¤Ï°Ê²¼¤Ë¤¢¤²¤ë¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Î¤¦¤Á¤Î1¤Ä¤È¡¢µö²Ä°À¤Î Áȹ礻 (¥Ó¥Ã¥È¤´¤È¤Î OR ¤ò»ÈÍÑ) ¤Ç»ØÄꤹ¤ë¡£ µö²Ä°À¤ÏÄ̾ïÄ̤ꡢ¥×¥í¥»¥¹¤Î umask ¤Ë¤è¤Ã¤Æ½¤Àµ¤µ¤ì¡¢ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Îµö²Ä°À¤Ï (mode & ~umask) ¤È¤Ê¤ë¡£ ¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ë¤Ï S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤹ¤ë¡£¤½¤ì¤¾¤ì½ç¤Ë¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë (¶õ¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ ºîÀ®¤µ¤ì¤ë)¡¢¥¥ã¥é¥¯¥¿¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢¥Ö¥í¥Ã¥¯¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢ FIFO (̾Á°ÉÕ¤¥Ñ¥¤¥×)¤Ç¤¢¤ë¡£ 0 ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¡¢¤³¤Î¾ì¹ç¤Ï Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£ ¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬ S_IFCHR ¤Þ¤¿¤Ï S_IFBLK ¤Î¤È¤¡¢ dev ¤Ë¤ÏºîÀ®¤¹¤ë¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤È ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»ØÄꤹ¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï dev ¤Ï̵»ë¤µ¤ì¤ë¡£ pathname ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢ ¤³¤Î¸Æ¤Ó½Ð¤·¤Ï EEXIST ¥¨¥é¡¼¤Ç¼ºÇÔ¤¹¤ë¡£ ¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Î½êÍ¼Ô¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú UID ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£ ¿·¤¿¤Ëºî¤é¤ì¤¿¥Î¡¼¥É¤òÊÝ»ý¤¹¤ë ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î set group id ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ BSD ¤Î¥°¥ë¡¼¥×¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë½¾¤Ã¤Æ ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥Î¡¼¥É¤Î¥°¥ë¡¼¥×½ê͸¢¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î ¥°¥ë¡¼¥×½ê͸¢¤ò·Ñ¾µ¤¹¤ë (¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ë¤Ê¤ë)¡£ ¤Þ¤¿¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¤Î½êÍ¥°¥ë¡¼¥×¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú GID ¤È¤Ê¤ë¡£ ÊÖ¤êÃÍmknod ¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤ò¡¢¼ºÇÔ¤·¤¿¾ì¹ç -1 ¤òÊÖ¤¹ (¼ºÇÔ¤·¤¿¾ì¹ç errno ¤¬¥¨¥é¡¼¤ÎÆâÍÆ¤Ë¤·¤¿¤¬¤Ã¤Æ¥»¥Ã¥È¤µ¤ì¤ë)¡£¥¨¥é¡¼
½àµòSVr4 (¤¿¤À¤·¤³¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ë¤ÏÆÃ¸¢¤¬É¬ÍפʤΤǡ¢POSIX ¤Ç¤Ï µ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤), 4.4BSD¡£ Linux ¤Î¼ÂÁõ¤Ï SVr4 ¤Î¼ÂÁõ¤È°Û¤Ê¤ê¡¢¥Ñ¥¤¥×¤ÎºîÀ®¤Ë¤Ï root ¸¢¸Â¤¬ÉÔÍפǤ¢¤ë¡£ ¤Þ¤¿ EMULTIHOP ¤È ENOLINK ¤È EINTR ¤Î¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Ïµ½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Ãí°ÕAustin ¤Î¥É¥é¥Õ¥È¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¤¤ë¡§ ¡Ömknod() ¤ÎÍ£°ì¤Î°Ü¿¢À¤Î¤¢¤ë»ÈÍÑË¡¤Ï¡¢FIFO ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ mode ¤¬ S_IFIFO ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï dev ¤¬ 0 ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢ mknod() ¤Îµóư¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£¡×Linux ¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ä¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë ¤³¤Î¸Æ¤Ó½Ð¤·¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£ ¤Þ¤¿¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼°Ê³°¤Î¥æ¡¼¥¶¡¼¤¬ Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Ê¤¤¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤Ï mkdir ¤Ç¡¢FIFO ¤Ï mkfifo ¤ÇºîÀ®¤¹¤Ù¤¤Ç¤¢¤ë¡£ NFS ¤ò¼Â¸½¤·¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Ë¤Ï¿¤¯¤ÎÉÔÈ÷¤¬Â¸ºß¤·¡¢ ¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤Ï mknod ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¡£ ´ØÏ¢¹àÌÜclose(2), fcntl(2), mkdir(2), mount(2), open(2), read(2), socket(2), stat(2), umask(2), unlink(2), write(2), fopen(3), mkfifo(3)
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |