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µÄÈÕ³£·þÎñÆ÷ά»¤Õ¾µãά»¤ÖУ¬¾³£ÐèÒªÅúÁ¿²Ù×÷Ò»²¿·ÖÎļþ£¬±ÈÈçÊý¾Ý¿âÓû§µÄ×ÊÁϱä¸ü£¬ÄÇôËùÒÔÏà¹ØÕ¾µãµÄÊý¾Ý¿âÅäÖÃÎļþÒªÏàÓ¦µÄÐ޸ġ£´ó¼Ò¶¼ÖªµÀ£¬linuxÏÂÃæ¼¸ºõËùÓеÄÅäÖÃÎļþ¶¼ÊÇ´¿´âµÄÎı¾Îļþ£¬ËùÒÔÕâÆäʵ¾ÍÊÇÒ»¸ö»ù±¾µÄÎı¾²Ù×÷¡£Ò»Ì¨·þÎñÆ÷ÉÏÓÐÉϰٸöÉõÖÁÉÏǧ¸öµÄÍøÕ¾¡£Èç¹ûÎÒÃÇÒ»¸ö¸öÀ´Ð޸IJ»ÊDz»¿ÉÒÔ£¬µ« ......
ÉîÈë·ÖÎö Linux ÄÚºËÁ´±í
¼¶±ð£º ³õ¼¶
ÑîɳÖÞ (pubb@163.net)¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ
2004 Äê 8 ÔÂ 01 ÈÕ
±¾ÎÄÏêϸ·ÖÎöÁË 2.6.x ÄÚºËÖÐÁ´±í½á¹¹µÄʵÏÖ£¬²¢Í¨¹ýʵÀý¶Ôÿ¸öÁ´±í²Ù×÷½Ó¿Ú½øÐÐÁËÏ꾡µÄ½²½â¡£
Ò»¡¢ Á´±íÊý¾Ý½á¹¹¼ò½é
Á´±íÊÇÒ»ÖÖ³£ÓõÄ×éÖ¯ÓÐÐòÊý¾ÝµÄÊý¾Ý½á¹¹£¬Ëüͨ¹ýÖ¸Õ뽫һϵÁÐÊý¾Ý½Úµ ......
1¡¢ÓÃÐéÄâ»ú¼Ówindows¿ª·¢linux³ÌÐò
2¡¢±à¼Æ÷ÓÃSourceInsight
3¡¢¹¹½¨¹²ÏíĿ¼£¬¹ÒÔØ¹²ÏíĿ¼
4¡¢windowsϹ²ÏíĿ¼ȨÏÞµÄÉèÖÃ
5¡¢ÓñàÒëÆ÷±àÒë³ö¿ÉÖ´ÐгÌÐò
linuxÏÂ ÍøÂç±à³Ì ±Ø±¸Í·Îļþ
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <netinet/in.h>
......
NRPE×ܹ²ÓÉÁ½²¿·Ö×é³É:
(1).check_nrpe²å¼þ,ÔËÐÐÔÚ¼à¿ØÖ÷»úÉÏ¡£
(2).NRPE daemon,ÔËÐÐÔÚÔ¶³ÌµÄlinuxÖ÷»úÉÏ(ͨ³£¾ÍÊDZ»¼à¿Ø»ú)
µ±NagiosÐèÒª¼à¿ØÄ³¸öÔ¶³ÌlinuxÖ÷»úµÄ·þÎñ»òÕß×ÊÔ´Çé¿öʱ£º
1).nagios»áÔËÐÐcheck_nrpe²å¼þ,ÎÒÃÇÒªÔÚnagiosÅäÖÃÎļþÖиæËßËüÒª¼ì²éʲô.
2).check_nrpe²å¼þ»áͨ¹ýSSLÁ¬½Óµ½Ô¶³ÌµÄNRPE d ......