Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux waitº¯Êý½âÎö

½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾ­Í˳ö£¬Èç¹ûÈÃËüÕÒµ½ÁËÕâÑùÒ»¸öÒѾ­±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬wait ¾Í»áÊÕ¼¯Õâ¸ö×Ó½ø³ÌµÄÐÅÏ¢£¬ ²¢°ÑËü³¹µ×Ïú»Ùºó·µ»Ø£»Èç¹ûûÓÐÕÒµ½ÕâÑùÒ»¸ö×Ó½ø³Ì£¬wait¾Í»áÒ»Ö±×èÈûÔÚÕâÀֱµ½ÓÐÒ»¸ö³öÏÖΪֹ¡£
wait£¨µÈ´ý×Ó½ø³ÌÖжϻò½áÊø£©
Ïà¹Øº¯Êý waitpid£¬fork
±íÍ·Îļþ
#include<sys/types.h>
#include<sys/wait.h>
¶¨Ò庯Êý pid_t wait (int * status);
º¯Êý˵Ã÷
wait£¨£©»áÔÝʱֹͣĿǰ½ø³ÌµÄÖ´ÐУ¬Ö±µ½ÓÐÐźÅÀ´µ½»ò×Ó½ø³Ì½á
Êø¡£Èç¹ûÔÚµ÷ÓÃwait£¨£©Ê±×Ó½ø³ÌÒѾ­½áÊø£¬Ôòwait£¨£©»áÁ¢¼´·µ
»Ø×Ó½ø³Ì½áÊø×´Ì¬Öµ¡£×Ó½ø³ÌµÄ½áÊø×´Ì¬Öµ»áÓɲÎÊýstatus ·µ»Ø£¬
¶ø×Ó½ø³ÌµÄ½ø³Ìʶ±ðÂëÒ²»áÒ»¿ì·µ»Ø¡£Èç¹û²»ÔÚÒâ½áÊø×´Ì¬Öµ£¬Ôò
²ÎÊýstatus ¿ÉÒÔÉè³ÉNULL¡£×Ó½ø³ÌµÄ½áÊø×´Ì¬ÖµÇë²Î¿¼waitpid£¨£©¡£
·µ»ØÖµ
Èç¹ûÖ´Ðгɹ¦Ôò·µ»Ø×Ó½ø³Ìʶ±ðÂ루PID£©£¬Èç¹ûÓдíÎó·¢ÉúÔò·µ»Ø
-1¡£Ê§°ÜÔ­Òò´æÓÚerrno ÖС£
¸½¼Ó˵Ã÷
·¶Àý Ò»
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
int main()
{
pid_t pid;
int status,i;
if(fork()= =0){
printf(“This is the child process .pid =%d\n”,getpid());
exit(5);
}else{
sleep(1);
printf(“This is the parent process ,wait for child...\n”;
pid=wait(&status);
i=WEXITSTATUS(status);
printf(“child’s pid =%d .exit status=%d\n”,pid,i);
}
}
Ö´ÐÐ
This is the child process.pid=1501
This is the parent process .wait for child...
child’s pid =1501,exit status =5
·¶Àý ¶þ
#include<iostream>
#include<unistd.h>
#include<sys/wait.h>
using namespace std;
int main(void)
{
        pid_t pid;
        pid =fork();
        if (pid<0)
                exit(0);
        else if (pid == 0)
        {
         


Ïà¹ØÎĵµ£º

linuxÉèÖû·¾³±äÁ¿(ת)


1¡¢ÒýÑÔ
    ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾ÎÄ» ......

linux socket±à³ÌÒ»°ãģʽ

1£ºËùÐèÍ·Îļþ£º<systypes.h>£¨Êý¾ÝÀàÐͶ¨Ò壩  < sys/socket.h>£¨Ìṩsocketº¯ÊýºÍÊý¾Ý½á¹¹£©
    <netinet/in.h>£¨¶¨ÒåÊý¾Ý½á¹¹sockaddr_in£© <netdb.h>£¨Ìṩ»ñÈ¡ÓòÃû»òIPµÄº¯Êý£© 
    <arpa/inet.h>£¨ÌṩIPµØÖ·×ª»»º¯Êý£©  < ......

Windows ºÍ Linux µÄIPC API¶ÔÓ¦±í

Windows ºÍ Linux µÄIPC API¶ÔÓ¦±í
 
 
Table 1. Process mapping
Windows
Linux
Classification
CreateProcess()
CreateProcessAsUser()
fork()
setuid()
exec()
Mappable
TerminateProcess()
kill()
Mappable
SetThreadpriority()
GetThreadPriority()
Setpriority()
getPriority()
Mappa ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ