ɽ¶«Å©Òµ´óѧ¿Î³Ì¿¼ÊÔרÓà µÃ·Ö ËÄ¡¢ÎÊ´ðÌ⣨¹²50·Ö£© 1¡¢¶ÁÏÂÃæµÄ´úÂ룬»Ø´ðÒÔÏÂÎÊÌ⣨ 8·Ö£© ¢Ù ¸Ã³ÌÐòÔËÐÐʱ»á²úÉú¼¸¸ö½ø³Ì£¿ ¢Ú Êä³ö¡°A:my pid is¡¡±ºÍÊä³ö¡°B:my pid is¡¡±µÄ½ø³ÌµÄÇ×Ôµ¹ØÏµÈçºÎ£¬ÎªÊ²Ã´£¿ main(){ int a; pid_t pd1,pd2; pid1=fork(); pid2=fork(); if (pid1==0 && pid2>0) printf(¡°A:my pid is:%d\\n¡±,getpid()); if (pid1>0 && pid2==0) printf(¡°B:my pid is:%d\\n¡±,getpid()); } 2¡¢Ä³¹ÜµÀ²Ù×÷³ÌÐòµÄ²¿·Ö´úÂëÈçÏ£¬ÔĶÁ³ÌÐò»Ø´ðÏÂÃæÎÊÌ⣺£¨10·Ö£© ¢Ù ³ÌÐòÔËÐлáÓÐÔõÑùµÄÊä³ö£¿ËµÃ÷ÄãµÄ·ÖÎö¡£ ¢Ú Çë˵Ã÷ϵͳµ÷ÓÃfork( )ΪʲôӦ¸ÃÔÚµ÷ÓÃpipe( )Ç°ÃæÊ¹Óã¿ ¢Û wait(NULL)µÄ×÷ÓÃÊÇʲô£¿int main(){ int pid_fd[2]; pid_t pid; char buf_f[100]; char* p_wbuf; int r_num; memset(buf_r,0,sizeof(buf_r));//¶Ô»º³åÇø½øÐгõʼ»¯ if(pipe(pipe_fd)<0) { printf(¡°pipe create error\\n¡±); return -1; } ×¢£º¿¼ÊÔÆÚ¼äÊÔ¾í²»ÔÊÐí²ð¿ª¡£ µÚ 5 Ò³ ¹² 10 Ò³ ɽ¶«Å©Òµ´óѧ¿Î³Ì¿¼ÊÔרÓà if((pid=fork())==0){ close(pipe_fd[1]); sleep(2); if((r_num=read(pipe_fd[0],buf_r,100)).0) { printf(¡°%d numbers read from the pipe is %s\\n¡±,r_num,buf_r); } close(pipe_fd[0]); exit(0); } else if(pid>0) { close(pipe_fd[0]; if(write(pipe_fd[1],¡±Hello¡±,5)!=-1) printf(¡°parent write1 Hello!\\n¡±); if (write(pipe_fd[1], ¡° Pipe¡±,5)!=-1)//PipeǰÓÐÒ»¸ö¿Õ¸ñ printf(¡°parent write2 pipe!\\n¡±); close(pipe_fd[1]); sleep(3); wait(NULL); exit(0); } return 0; } 3¡¢¼òµ¥½éÉÜÖÁÉÙ4ÖÖ½ø³ÌͨÐÅ·½Ê½¡££¨8·Ö£© 4¡¢Ê²Ã´ÊÇÎïÀíÄÚ´æ¿Õ¼ä¡¢ÐéÄâµØÖ·¿Õ¼ä¡£¼òµ¥ËµÃ÷LinuxÏÂÄÚ´æ·ÖÅäºÍ»ØÊյĹý³Ì¡££¨8·Ö£© ×¢£º¿¼ÊÔÆÚ¼äÊÔ¾í²»ÔÊÐí²ð¿ª¡£ µÚ 6 Ò³ ¹² 10 Ò³ ɽ¶«Å©Òµ´óѧ¿Î³Ì¿¼ÊÔרÓà 5¡¢ LinuxµÄÄÚ´æ¹ÜÀíº¯Êýmalloc¡¢kmallocºÍvmallocÓÐʲôÒìͬ¡££¨8·Ö£© 6¡¢ ϵͳµ÷ÓúÍÄ£¿éÓÐÊ²Ã´Çø±ð£¿¼òÊöÌí¼ÓÒ»¸öÂú×ã×Ô¼ºÐèÇóµÄϵͳµ÷ÓõIJ½ÖèÓÐÄÄЩ£¿£¨8·Ö£© ×¢£º¿¼ÊÔÆÚ¼äÊÔ¾í²»ÔÊÐí²ð¿ª¡£ µÚ 7 Ò³ ¹² 10 Ò³ ɽ¶«Å©Òµ´óѧ¿Î³Ì¿¼ÊÔרÓà 2010 -2011 ѧÄêµÚ 1 ѧÆÚ ¡¶Linux²Ù×÷ϵͳ¡·A¾í´ð°¸ ¿Î³Ì´úÂë ¿¼ÊÔ·½Ê½ ¿¼ÊÔʱ³¤ ·ÖÖÓ ÐÕÃû ѧºÅ ½Ìѧ°àºÅ רҵ ¼¶ °à Ò»¡¢Ñ¡ÔñÌ⣨ÿÌâ1·Ö£¬¹²20·Ö£© 1~5 C D A C A 6~10 D D A D B 11~15 B B C C B 16~20 C C B C B ¶þ¡¢Ó¦ÓÃÌ⣨20·Ö£© 1¡¢ ½âÊÍÃüÁÄÜ»ò¸ù¾Ý¹¦ÄÜд³öÃüÁ5·Ö£¬Ã¿Ìâ1·Ö£© 1) Áгö home Ŀ¼ÏÂËùÓÐµÄ csv Îļþ²¢°Ñ½á¹û±£´æµ½Îļþ csv.out ÖÐ 2) ½«data.txt¿½±´µ½backupĿ¼ÖУ¬Èç¹ûÓи²¸ÇÇé¿ö·¢ÉúÔòѯÎÊÓû§¡£ 3) cp ¨Cr /user/home/file /root 4) tar ¨Ccvf mytar.tar * 5) mkdir /newdir/other mv /newdir/* /newdir/home 2¡¢ÅжÏÓû§ÊäÈëµÄÎļþÊÇ·ñ´æÔÚ¡££¨¹²5·Ö£© #! /bin/bash read fname (1·Ö ) if (test ¨Cf ¡°$fname¡±) then £¨1·Ö£© echo ¡°exist¡± £¨1·Ö£© fi (1·Ö) Ö´ÐÐ(1·Ö)£º sh iffile »òÕßchmod 755 iffile ./iffile 2¡¢ ×Ô¶¯É¾³ýÓû§ÕË»§£¨¹²5·Ö£© #!/bin/sh i=1 £¨1·Ö£© while [ $i -le 10 ] £¨1·Ö£© Do userdel -r stud${i} £¨1·Ö£© i=$(($i+1 )) £¨1·Ö£© done £¨1·Ö£© 3¡¢ ½Å±¾ÔËÐÐʱ´øÒ»¸öÓû§Ãû×÷Ϊ²ÎÊý£¬Ã»ÓвÎÊýʱҪ¸ø¾¯¸æ¡£¹¦ÄÜΪÔÚ/etc/passwdÎļþÖвéÕÒÊÇ·ñÓиÃÓû§¡££¨¹²5·Ö£© if [ $# -eq 0 ] ; then £¨1·Ö£© a=`cut -d: -f1 /etc/passwd | grep -c ¡°^$1$¡±` (2·Ö) ×¢£º¿¼ÊÔÆÚ¼äÊÔ¾í²»ÔÊÐí²ð¿ª¡£ µÚ 8 Ò³ ¹² 10 Ò³