Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©¹ÜµÀºÍÓÐÃû¹ÜµÀ
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©¹ÜµÀºÍÓÐÃû¹ÜµÀ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË 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_BUF£¬Ôò·µ»Ø¹ÜµÀÖÐÏÖÓÐÊý¾Ý×Ö½ÚÊý£¨´Ëʱ£¬¹ÜµÀÖÐÊý¾ÝÁ¿
Ïà¹ØÎĵµ£º
ʹÓÃ/dev/null
°Ñ/dev/null¿´×÷"ºÚ¶´". Ëü·Ç³£µÈ¼ÛÓÚÒ»¸öֻдÎļþ. ËùÓÐдÈëËüµÄÄÚÈݶ¼»áÓÀÔ¶¶ªÊ§. ¶ø³¢ÊÔ´ÓËüÄǶù¶ÁÈ¡ÄÚÈÝÔòʲôҲ¶Á²»µ½. È»¶ø, /dev/null¶ÔÃüÁîÐкͽű¾¶¼·Ç³£µÄÓÐÓÃ. ½ûÖ¹±ê×¼Êä³ö.
1 cat $filename >/dev/null
2 # ÎļþÄÚÈݶªÊ§£¬¶ø²»»áÊä³öµ½±ê×¼Êä³ö.
½ûÖ¹±ê×¼´íÎó
1 rm $badname 2>/dev/ ......
By:
ÎâÛó Date:
2007-05-18 Email:
lazy_fox#msn.com Homepage:
http://blog.csdn.net/wooin Link:
http://blog.csdn.net/wooin/archive/2007/05/21/1619141.aspx °æÈ¨ÐÅÏ¢£º
¸ÃÎÄÕ°æÈ¨ÓÉWu YinËùÓС£¿ÉÔÚ·ÇÉÌҵĿµÄÏÂÈÎÒâ´«²¥ºÍ¸´ÖÆ¡£
¶ÔÓÚÉÌҵĿµÄ϶Ա¾ÎĵÄÈκÎÐÐΪÐè¾×÷Õß ......
µ±ÎÒÃǵijÌÐòÖÐÓо³£Ê¹ÓõÄÄ£¿é£¬¶øÇÒÕâÖÖÄ£¿éÔÚÆäËû³ÌÐòÖÐÒ²»áÓõ½£¬Õâʱ°´ÕÕÈí¼þÖØÓõÄ˼Ï룬ÎÒÃÇÓ¦¸Ã½«ËüÃÇÉú³É¿â£¬Ê¹µÃÒÔºó±à³Ì¿ÉÒÔ¼õÉÙ¿ª·¢´úÂëÁ¿¡£ÕâÀï½éÉÜÁ½¸öÃüÁîarºÍnm£¬ÓÃÀ´¶Ô¿â²Ù×÷¡£
1.ar»ù±¾Ó÷¨
2.nm»ù±¾Ó÷¨ÃüÁî
¡¡µ±ÎÒÃǵijÌÐòÖÐÓо³£Ê¹ÓõÄÄ£¿é£¬¶øÇÒÕâÖÖÄ£¿éÔÚÆäËû³ÌÐòÖÐÒ²»áÓõ½£¬Õâʱ°´ÕÕÈí¼þÖ ......
±àÒë°²×°KFS£º
kfs:kosmosfs
環¾³:
os:centos5.3
metaserver£ºVM-CentOS-5-SHU
chunkservers:VM-CentOS-5-SHU-2,VM-CentOS-5-SHU-3,VM-CentOS-5-SHU-4
ǰÌáÌõ¼þ£ºssh¤Ç¥Ñ¥¹¥ïー¥É無¤·¤Ç認証¤Ë¤Ê¤ë
kfs¤Î¥¤¥ó¥¹¥Èー¥ë
metaserver¤ÇÏÂ記¤Î²Ù×÷¤òÐФ¦
Ò»¡¢±ØÒª¥Ñ¥Ã¥±} ......
C±ê×¼º¯Êý£¬Ëƺõ²»Ó¦¸ÃÓÐÆ½Ì¨ÎÊÌ⣺ ÎÒÃÇ¿´Ò»ÏÂÕâ¸ö³ÌÐò£º #include
#include
int main()
{
rename(¡±/tmp/abc¡±,¡±/tmp/bcd¡±);
perror(¡±why:¡±);
} ´Ë³ÌÐòÔËÐÐÒ»ÇÐÕý³£¡£ ×Ô¼º½«Â·¾¶ÐÞ¸ÄΪ²»Í¬µÄ·ÖÇøÖ®¼äÒÆ¶¯£¬»òÕß½«Í¬Ò»·ÖÇø¹ÒÔØµ½²»Í¬µÄmou ......