Linux»·¾³½ø³Ì¼äͨÐÅ
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©
¹ÜµÀ¼°ÓÐÃû¹ÜµÀ
Ö£ÑåÐË (mlinux@163.com)¹ú·À¿Æ´ó¼ÆËã»úѧԺ
2002 Äê 12 ÔÂ 11 ÈÕ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË linux ½ø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶΡ£ÆäÖйܵÀºÍÓÐÃû¹ÜµÀÊÇ×îÔçµÄ½ø³Ì¼äͨÐÅ»úÖÆÖ®Ò»£¬¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ¡£ ÈÏÇå¹ÜµÀºÍÓÐÃû¹ÜµÀµÄ¶Áд¹æÔòÊÇÔÚ³ÌÐòÖÐÓ¦ÓÃËüÃǵĹؼü£¬±¾ÎÄÔÚÏêϸÌÖÂÛÁ˹ܵÀºÍÓÐÃû¹ÜµÀµÄͨÐÅ»úÖÆµÄ»ù´¡ÉÏ£¬ÓÃʵÀý¶ÔÆä¶Áд¹æÔò½øÐÐÁ˳ÌÐòÑéÖ¤£¬ÕâÑù×öÓÐÀûÓÚÔöÇ¿¶ÁÕß¶Ô¶Áд¹æÔòµÄ¸ÐÐÔÈÏʶ£¬Í¬Ê±Ò²ÌṩÁËÓ¦Ó÷¶Àý¡£
1¡¢ ¹ÜµÀ¸ÅÊö¼°Ïà¹ØAPIÓ¦ÓÃ
1.1 ¹ÜµÀÏà¹ØµÄ¹Ø¼ü¸ÅÄî
¹ÜµÀÊÇLinuxÖ§³ÖµÄ×î³õUnix IPCÐÎʽ֮һ£¬¾ßÓÐÒÔÏÂÌØµã£º
¹ÜµÀÊǰëË«¹¤µÄ£¬Êý¾ÝÖ»ÄÜÏòÒ»¸ö·½ÏòÁ÷¶¯£»ÐèҪ˫·½Í¨ÐÅʱ£¬ÐèÒª½¨Á¢ÆðÁ½¸ö¹ÜµÀ£»
Ö»ÄÜÓÃÓÚ¸¸×Ó½ø³Ì»òÕßÐֵܽø³ÌÖ®¼ä£¨¾ßÓÐÇ×Ôµ¹ØÏµµÄ½ø³Ì£©£»
µ¥¶À¹¹³ÉÒ»ÖÖ¶ÀÁ¢µÄÎļþϵͳ£º¹ÜµÀ¶ÔÓڹܵÀÁ½¶ËµÄ½ø³Ì¶øÑÔ£¬¾ÍÊÇÒ»¸öÎļþ£¬µ«Ëü²»ÊÇÆÕͨµÄÎļþ£¬Ëü²»ÊôÓÚijÖÖÎļþϵͳ£¬¶øÊÇ×ÔÁ¢ÃÅ»§£¬µ¥¶À¹¹³ÉÒ»ÖÖÎļþϵͳ£¬²¢ÇÒÖ»´æÔÚÓëÄÚ´æÖС£
Êý¾ÝµÄ¶Á³öºÍдÈ룺һ¸ö½ø³ÌÏò¹ÜµÀÖÐдµÄÄÚÈݱ»¹ÜµÀÁíÒ»¶ËµÄ½ø³Ì¶Á³ö¡£Ð´ÈëµÄÄÚÈÝÿ´Î¶¼Ìí¼ÓÔڹܵÀ»º³åÇøµÄĩ⣬²¢ÇÒÿ´Î¶¼ÊÇ´Ó»º³åÇøµÄÍ·²¿¶Á³öÊý¾Ý¡£
1.2¹ÜµÀµÄ´´½¨£º
#include <unistd.h>
int pipe(int fd[2])
¸Ãº¯Êý´´½¨µÄ¹ÜµÀµÄÁ½¶Ë´¦ÓÚÒ»¸ö½ø³ÌÖм䣬ÔÚʵ¼ÊÓ¦ÓÃÖÐûÓÐÌ«´óÒâÒ壬Òò´Ë£¬Ò»¸ö½ø³ÌÔÚÓÉpipe()´´½¨¹ÜµÀºó£¬Ò»°ãÔÙforkÒ»¸ö×Ó½ø³Ì£¬È»ºóͨ¹ý¹ÜµÀʵÏÖ¸¸×Ó½ø³Ì¼äµÄͨÐÅ£¨Òò´ËÒ²²»ÄÑÍÆ³ö£¬Ö»ÒªÁ½¸ö½ø³ÌÖдæÔÚÇ×Ôµ¹ØÏµ£¬ÕâÀïµÄÇ×Ôµ¹ØÏµÖ¸µÄÊǾßÓй²Í¬µÄ׿ÏÈ£¬¶¼¿ÉÒÔ²ÉÓùܵÀ·½Ê½À´½øÐÐͨÐÅ£©¡£
1.3¹ÜµÀµÄ¶Áд¹æÔò£º
¹ÜµÀÁ½¶Ë¿É·Ö±ðÓÃÃèÊö×Öfd[0]ÒÔ¼°fd[1]À´ÃèÊö£¬ÐèҪעÒâµÄÊÇ£¬¹ÜµÀµÄÁ½¶ËÊǹ̶¨ÁËÈÎÎñµÄ¡£¼´Ò»¶ËÖ»ÄÜÓÃÓÚ¶Á£¬ÓÉÃèÊö×Öfd[0]±íʾ£¬³ÆÆäΪ¹ÜµÀ¶Á¶Ë£»ÁíÒ»¶ËÔòÖ»ÄÜÓÃÓÚд£¬ÓÉÃèÊö×Öfd[1]À´±íʾ£¬³ÆÆäΪ¹ÜµÀд¶Ë¡£Èç¹ûÊÔͼ´Ó¹ÜµÀд¶Ë¶ÁÈ¡Êý¾Ý£¬»òÕßÏò¹ÜµÀ¶Á¶ËдÈëÊý¾Ý¶¼½«µ¼Ö´íÎó·¢Éú¡£Ò»°ãÎļþµÄI/Oº¯Êý¶¼¿ÉÒÔÓÃÓڹܵÀ£¬Èçclose¡¢read¡¢writeµÈµÈ¡£
´Ó¹ÜµÀÖжÁÈ¡Êý¾Ý£º
Èç¹û¹ÜµÀµÄд¶Ë²»´æÔÚ£¬ÔòÈÏΪÒѾ¶Áµ½ÁËÊý¾ÝµÄĩ⣬¶Áº¯Êý·µ»ØµÄ¶Á³ö×Ö½ÚÊýΪ0£»
µ±¹ÜµÀµÄд¶Ë´æÔÚʱ£¬Èç¹ûÇëÇóµÄ×Ö½ÚÊýÄ¿´óÓÚPIPE_BUF£¬Ôò·µ»Ø¹ÜµÀÖÐÏÖÓеÄÊý¾Ý×Ö½ÚÊý£¬Èç¹ûÇëÇóµÄ×Ö½ÚÊýÄ¿²»´óÓÚPIPE
Ïà¹ØÎĵµ£º
×î½üÔÚÑо¿ Linux Äں˵Äʱ¼ä×Óϵͳ£¬ÎªÏÂһƪ³¤ÎÄ¡¶·þÎñÆ÷³ÌÐòÖеÄÈÕÆÚÓëʱ¼ä¡·×ö×¼±¸£¬ÎÞÒâÖÐ×¢Òâµ½ÁË Linux ÐÂÔöµÄ¼¸¸öϵͳµ÷ÓõĶԱàд·þÎñÆ÷´úÂëµÄÓ°Ï죬ÏÈ´óּǼÔÚÕâÀï¡£ÕâÆª²©¿ÍÒ²¿ÉËã×÷ǰһƪ¡¶¶àÏ̷߳þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·µÄÒ»¸ö×¢½Å¡£ 1. ·þÎñÆ÷³ÌÐòµÄ·ç¸ñ¿ÉÄÜÔÚ±ä еĴ´½¨ÎļþÃèÊö·ûµÄ syscall Ò»°ã¶¼Ö§³Ö ......
ʵÑé2 LinuxÎļþϵͳ
Ò».ʵÑéÄ¿µÄ
ͨ¹ýʵÑéÕÆÎÕLinuxÖÐÎļþ¹ÜÀíµÄ»ù±¾¸ÅÄ°üÀ¨³£ÓÃÃüÁî¸ñʽ¡¢ÎļþÀàÐÍ¡¢Ä¿Â¼½á¹¹µÈ£¬³õ²½Á˽âÓйØÎļþ°²È«·½ÃæµÄ֪ʶ¡£¡£
¶þ.ʵÑéÄÚÈÝ
1.ʹÓÃpwd£¬cd£¬lsµÈÃüÁîä¯ÀÀÎļþϵͳ¡£
2.ʹÓÃcat£¬cp£¬mv£¬head£¬tail£¬rmµÈÃüÁî²é¿´ºÍ²Ù×÷Îļþ¡£
3.ʹÓÃfind£¬grepÃüÁî½øÐÐÎļþ²éÕÒºÍ ......
ʵÑé3 LinuxµÄ½ø³Ì¿ØÖÆ
Ò».ʵÑéÄ¿µÄ
ͨ¹ýʵÑéÕÆÎÕLinuxÖнø³Ì¿ØÖƵĻù±¾ÃüÁî¡£
¶þ.ʵÑéÒªÇó
1.Á·Ï°Ê¹ÓÃwho, w, ps,pstree²ì¿´ÏµÍ³Óû§¼°½ø³ÌµÄÐÅÏ¢¡£
2.Á·Ï°Ê¹ÓÃkillÃüÁî³·Ïú½ø³Ì¡£
3.Á·Ï°½ø³Ìǰºǫ́µÄÇл»¡£
Èý¡¢ ʵÑ鱨¸æÒªÇó
1£®   ......
ÕªÒª
ÎÒÃÇÔÚÕâÀïÌÖÂÛµÄÊǶÔǶÈëʽlinuxϵͳµÄÆô¶¯¹ý³ÌµÄÊä³öÐÅÏ¢µÄ×¢ÊÍ£¬Í¨¹ýÎÒÃǵÄÌÖÂÛ£¬´ó¼Ò»á¶ÔǶÈëʽlinuxÆô¶¯¹ý³ÌÖгöÏֵġ¢ÒÔǰ¸Ð¾õÊìϤµÄ¡¢µ«È´ÓÖËÆÊǶø·ÇµÄ¶«Î÷ÓÐÒ»¸öÈ·ÇеÄÁ˽⣬²¢ÇÒÄÜÁ˽⵽ÕâЩÊä³öÐÅÏ¢µÄÀ´ÁúÈ¥Âö¡£
ǶÈëʽlinuxµÄÆô¶¯ÐÅÏ¢ÊÇÒ»¸öºÜÖµµÃÎÒÃÇÈ¥ºÃºÃÑо¿µÄ¶«Î÷£¬ËüÄܽ«Ò»·ùËõӰͼ³ÊÏÖÔÚÎÒÃÇÃæÇ°£ ......