Linuxϳ£Óú¯Êý ÐźŴ¦Àíº¯Êý
alarm£¨ÉèÖÃÐźŴ«ËÍÄÖÖÓ£©
Ïà¹Øº¯Êý signal£¬sleep
±íÍ·Îļþ #include<unistd.h>
¶¨Ò庯Êý unsigned int alarm(unsigned int seconds);
º¯Êý˵Ã÷ alarm()ÓÃÀ´ÉèÖÃÐźÅSIGALRMÔÚ¾¹ý²ÎÊýsecondsÖ¸¶¨µÄÃëÊýºó´«Ë͸øÄ¿Ç°µÄ½ø³Ì¡£Èç¹û²ÎÊýseconds Ϊ0£¬Ôò֮ǰÉèÖõÄÄÖÖӻᱻȡÏû£¬²¢½«Ê£ÏµÄʱ¼ä·µ»Ø¡£
·µ»ØÖµ ·µ»ØÖ®Ç°ÄÖÖÓµÄÊ£ÓàÃëÊý£¬Èç¹û֮ǰδÉèÄÖÖÓÔò·µ»Ø0¡£
·¶Àý #include<unistd.h>
#include<signal.h>
void handler() {
printf(“hello\n”);
}
main()
{
int i;
signal(SIGALRM,handler);
alarm(5);
for(i=1;i<7;i++){
printf(“sleep %d ...\n”,i);
sleep(1);
}
}
Ö´ÐÐ sleep 1 ...
sleep 2 ...
sleep 3 ...
sleep 4 ...
sleep 5 ...
hello
sleep 6 ...
kill£¨´«ËÍÐźŸøÖ¸¶¨µÄ½ø³Ì£©
Ïà¹Øº¯Êý raise£¬signal
±íÍ·Îļþ #include<sys/types.h>
#include<signal.h>
¶¨Ò庯Êý int kill(pid_t pid,int sig);
º¯Êý˵Ã÷ kill()¿ÉÒÔÓÃÀ´ËͲÎÊýsigÖ¸¶¨µÄÐźŸø²ÎÊýpidÖ¸¶¨µÄ½ø³Ì¡£²ÎÊýpidÓм¸ÖÖÇé¿ö:
pid>0 ½«ÐźŴ«¸ø½ø³Ìʶ±ðÂëΪpid µÄ½ø³Ì¡£
pid=0 ½«ÐźŴ«¸øºÍĿǰ½ø³ÌÏàͬ½ø³Ì×éµÄËùÓнø³Ì
pid=-1 ½«ÐźŹ㲥´«Ë͸øÏµÍ³ÄÚËùÓеĽø³Ì
pid<0 ½«ÐźŴ«¸ø½ø³Ì×éʶ±ðÂëΪpid¾ø¶ÔÖµµÄËùÓнø³Ì
²ÎÊýsig´ú±íµÄÐźűàºÅ¿É²Î¿¼¸½Â¼D
·µ»ØÖµ Ö´Ðгɹ¦Ôò·µ»Ø0£¬Èç¹ûÓдíÎóÔò·µ»Ø-1¡£
´íÎó´úÂë EINVAL ²ÎÊýsig ²»ºÏ·¨
ESRCH ²ÎÊýpid ËùÖ¸¶¨µÄ½ø³Ì»ò½ø³Ì×é²»´æÔÚ
EPERM ȨÏÞ²»¹»ÎÞ·¨´«ËÍÐźŸøÖ¸¶¨½ø³Ì
·¶Àý #include<unistd.h>
#include<signal.h>
#include<sys/types.h>
#include<sys/wait.h>
main()
{
pid_t pid;
int status;
if(!(pid= fork())){
printf(“Hi I am child process!\n”);
sleep(10);
return;
}
else{
printf(“send signal to child process (%d) \n”,pid);
sleep(1);
kill(pid ,SIGABRT);
wait(&status);
if(WIFSIGNALED(status))
printf(“chile process receive signal %d\n”,WTERMSIG(status));
}
}
Ö´ÐÐ sen signal to
Ïà¹ØÎĵµ£º
ÎÒÃǽâÊÍFilesystem Hierarchy Standard(FHS)Ëù¶¨ÒåµÄ×éÖ¯½á¹¹¡£ Êý¾ÝÀàÐÍ ÎļþϵͳÊÇÓÃÀ´±£´æÊý¾ÝµÄ£¬²»Í¬ÀàÐ͵ÄÊý¾ÝÓ¦¸Ã·ÅÔÚÎļþϵͳÉϵIJ»Í¬Î»Öá£Òò´Ë£¬µÚÒ»²½±ØÐëÏÈÀíÇåÈçºÎ·ÖÀàÊý¾Ý¡£FHS½«Êý¾ÝµÄÊôÐÔ·ÖΪÁ½À࣬¸÷ÀàÊôÐÔ¸÷ÓÐÁ½ÖÖ½ØÈ»Ïà·´µÄÐÔÖÊ¡£ ¹²ÏíÐÔ£¨Êý¾ÝÓÃÓÚÍøÂç»·¾³ÖеÄÓ¦Ó÷¶Î§£© 1.¹²Ïí£º¿É¹©ÍøÂçÉϵĶภ......
ÔÚlinuxÄں˵ÄÔ´´úÂëÖУ¬ÒÔ»ã±àÓïÑÔ±àдµÄ³ÌÐò»ò³ÌÐò¶Î£¬ÓÐÁ½ÖÖ²»Í¬µÄÐÎʽ¡£
µÚÒ»ÖÖÊÂÍêÈ«µÄ»ã±à´úÂ룬ÕâÑùµÄ´úÂë²ÉÓÃ.s×÷ΪÎļþµÄºó׺¡£ÊÂʵÉÏ£¬¾¡¹ÜÊÇÍêÈ«µÄ»ã±à´úÂ룬ÏÖ´úµÄ»ã±à¹¤¾ßÒ²ÎüÊÕÁËCÓïÑԵij¤´¦£¬Ò²ÔÚ»ã±à֮ǰ¼ÓÉÏÁËÒ»ÌËÔ¤´¦Àí£¬¶øÔ¤´¦Àí֮ǰµÄÎļþÔòÒÔ.sΪºó׺¡£´ËÀࣨ.s£©ÎļþÒ²ºÍC³ÌÐòÒ»Ñù£¬¿ÉÒÔʹÓÃ#includ ......
¹¦ÄÜÃèÊö£º
´¦ÀíÐźš£¼È¿ÉÓÃÓÚÉ趨¶ÔÈÎÒâÐźŵĴ¦Àí·½Ê½£¬Ò²¿ÉÓÃÓÚ¼ìÑé¸ÃÐźŵÄĿǰԤÉè´¦Ö÷½Ê½¡£
Ó÷¨£º
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
&n ......
µÚÒ»´ÎÔÚLinuxÉϰ²×°OracleµÄʱºòÅöµ½Õâ¸öÎÊÌ⣬ºÇºÇ¡£Ö®Ç°ÔÚLinuxÉϰ²×°Oracleʱ£¬Ò»°ã¶¼Ê¹ÓÃRedHatϵÁеÄLinux£¬ÔÚ°²×°¹ý³ÌÖУ¬ÐèÒª×ö´óÁ¿µÄ°²×°Ç°Öù¤×÷£¬Èç°²×°RPM°ü£¬´´½¨×éºÍÓû§£¬ÐÞ¸ÄÄں˲ÎÊý£¬Ð޸Ļ·¾³±äÁ¿µÈ¡£Õâ´ÎʹÓõÄÊÇRedFlagµÄAsianux 3£¬¶øÇÒ×Ô´øOracleµÄ°²×°¸¨Öú¹¤¾ßOrana ......