linux ÏÂc±à³ÌÎÊÌâ
ÏÂÃæ³ÌÐò³öÁ˵ãÎÊÌ⣬ÎÒÊÇÏë×Ó½ø³Ì1ºÍ×Ó½ø³Ì2ÏÈд£¬È»ºó¸¸½ø³Ì¶Á£¬²¢ÇÒÒªÏȶÁ×Ó½ø³Ì1µÄÐÅÏ¢£¬ÔÙ¶Á×Ó½ø³Ì2.
ÔËÐÐÏÂÃæµÄ´úÂ룬·¢ÏÖÓÐʱºòµÄ½á¹ûÊÇchild process 2 is sending a message!child process 2 is sending a message!£¬ÓÐʱºòÓÖÕýÈ·£¬ÎÒÏëÎÊÎÊÔÒò
C/C++ code:
#include<unistd.h>
main(){
int pid,pid1,pid2;
int fd[2];
char buffer[100];
char inpipe1[]=¡±child process 1 is sending a message!¡±;
char inpipe2[]=¡±child process 2 is sending a message!¡±;
while(pipe(fd)==-1);
while((pid1=fork())==-1);
if(pid1==0){
lockf(fd[1],1,0);
write(fd[1],inpipe1,50);
sleep(2);
lockf(fd[1],0,0);
exit(0);
}
}else{
while((pid2=fork()==-1);
if(pid2==0){
lockf(fd[1],1,0);
write(fd[1],inpipe2,50);
sleep(2);
lockf(fd[1],0,0);
exit(0);
}else{
wait(0);
read(fd[0],buffer,50);
printf(¡°%s\n¡±,buffer);
wait(0);
read(fd[0],buffer,50);
printf(¡°%s\n¡±,buffer);
exit(0);
}
}
}
ÄãÎÞ·¨±£Ö¤ÄǸö½ø³ÌÏÈÔËÐУ»¼´Ê¹Äã˯ÃßÁË£»Ò²ÊÇÎÞ·¨±£Ö¤µÄ£»³ý·ÇÖùÈû½ø³Ì
forkºóû·¨È·¶¨ÊÇÏÈÖ´ÐÐ×Ó½ø³Ì»¹ÊǸ¸½ø³Ì£¬ÒªÈÃ×Ó½ø³Ì1ÔÚ2֮ǰִÐÐÕâÑùµÄͬ²½Æð²»µ½ÈκεÄ×÷ÓÃ
ÄÇÒªÔõô×ö¡£¡£¡£
¾ºÕùÎÊÌâ¡£
¿ÉÒÔÓÃÐźÅÀ´Ê¹½ø³Çͬ²½
Ò²ÓÐÆäËû·½·¨À´Èýø³Çͬ²½¡£
¿ÉÒԲο¼ <Advanced Programming in Unix Environment>ÖеÚʮյÄÄÚÈÝ
»¹ÓÐÏÂÃæ´úÂë¡£¡£¡£¡£ÎÒÏëÒªµÄ½á¹ûÒ²ÊÇ×Ó½ø³ÌÏÈÊä³ö£¬¿ÉÊÇ·¢ÏÖ¸¸½ø³Ì±È×Ó½ø³Ì¸üÔçÊä³ö
C/C+
Ïà¹ØÎÊ´ð£º
QQȺ 29152388
ÓÑÇéUP
°ï¶¥
up
°ïup
up Ö§³Ö£¡
up jf
...ÄѵÀÓзÖ..?
up up up
Ï£ÍûÓеüӷ֣¬¹þ¹þ¡£
Ö§³Ö£¬ÎÒ¼ÓÁË£¬Ï£ÍûÂ¥Ö÷ÄܼÓÎÒ£¬¹²Í¬Ñ§Ï°¹þ
¼ÓÁË¡£
¶¥ÉÏ£¬Ã¿ÌìÊÕ»ñÒ»µã£¬Ö§³Ö ......
×î½üÔÚ¿´Ò»¸öÓÃbisonʵÏÖµÄC parser,OSÊÇopensolaris¡£µ±ÓÃËüÀ´½âÎöÒ»¸ö¼òµ¥µÄhello.cʱ£¬³öÏÖ¡°/usr/include/sys/va_list.h: parse error before __gnuc_va_list¡±¡£´ò¿ªÎļþva_list.hºó·¢ÏÖÕâÑùÒ»ÐС°typedef __bu ......
Á½¸öÎļþ1.PC£¬1.inc
1.PCÓвÙ×÷oracleÊý¾Ý¿âµÄ ,1.incÒ²ÓвÙ×÷oracleÊý¾Ý¿â
ÔÚÆäËûÊý¾ÝÖÐÈçinformix ÖÐ$include 1.inc¾Í¿ÉÒÔʹÓÃÁË
ÔÚORACLEÊý¾Ý¿âÖØ $include 1.inc²»¿ÉÓà EXEC SQL include 1.incÒ²²»¿É ......
¸÷λ´óÏÀ£º
ÓÐûÓÐÖªµÀÈçºÎÔÚCÓïÑÔÖÐʹÓóÖÐø¼¯³É¡£´Ó³õ²½µÄµ÷²éÀ´¿´£¬Ã²ËÆÊ¹ÓÃCruiseControlµÄÈ˺ܶ࣬µ«ÊǸÿªÔ´¹¤¾ß¶ÔCÓïÑÔµÄÖ§³ÖÃ²ËÆºÜÓÐÏÞ£¬±àÒëºÍ²âÊÔ½á¹û¿ÉÄÜÐèÒª×Ô¼º´¦Àí£¬Éú³ÉCruiseControlÄܹ»´¦ÀíµÄXMLÎ ......