Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

Linux ÐźÅsignal´¦Àí»úÖÆ ¶þ

¶þ¡¢ÐÅ ºÅ »ú ÖÆ
ÉÏ Ò»½ÚÖнéÉÜÁËÐźŵĻù±¾¸ÅÄÔÚÕâÒ»½ÚÖУ¬ÎÒÃǽ«½éÉÜÄÚºËÈçºÎʵÏÖÐźŻúÖÆ¡£¼´ÄÚºËÈçºÎÏòÒ»¸ö½ø³Ì·¢ËÍÐźš¢½ø³ÌÈçºÎ½ÓÊÕÒ»¸öÐźš¢½ø³ÌÔõÑù¿ØÖÆ×Ô¼º¶ÔÐÅ ºÅµÄ·´Ó¦¡¢ÄÚºËÔÚʲôʱ»ú´¦ÀíºÍÔõÑù´¦Àí½ø³ÌÊÕµ½µÄÐźš£»¹Òª½éÉÜÒ»ÏÂsetjmpºÍlongjmpÔÚÐźÅÖÐÆðµ½µÄ×÷Óá£
1¡¢Äں˶ÔÐźŵĻù±¾´¦Àí·½·¨
ÄÚ ºË¸øÒ»¸ö½ø³Ì·¢ËÍÈíÖжÏÐźŵķ½·¨£¬ÊÇÔÚ½ø³ÌËùÔڵĽø³Ì±íÏîµÄÐźÅÓòÉèÖöÔÓ¦ÓÚ¸ÃÐźŵÄλ¡£ÕâÀïÒª²¹³äµÄÊÇ£¬Èç¹ûÐźŷ¢Ë͸øÒ»¸öÕýÔÚ˯ÃߵĽø³Ì£¬ÄÇôҪ¿´ ¸Ã½ø³Ì½øÈë˯ÃßµÄÓÅÏȼ¶£¬Èç¹û½ø³Ì˯ÃßÔڿɱ»ÖжϵÄÓÅÏȼ¶ÉÏ£¬Ôò»½Ðѽø³Ì£»·ñÔò½öÉèÖýø³Ì±íÖÐÐźÅÓòÏàÓ¦µÄ룬¶ø²»»½Ðѽø³Ì¡£ÕâÒ»µã±È½ÏÖØÒª£¬ÒòΪ½ø³Ì¼ì ²éÊÇ·ñÊÕµ½ÐźŵÄʱ»úÊÇ£ºÒ»¸ö½ø³ÌÔÚ¼´½«´ÓÄÚºË̬·µ»Øµ½Óû§Ì¬Ê±£»»òÕߣ¬ÔÚÒ»¸ö½ø³ÌÒª½øÈë»òÀ뿪һ¸öÊʵ±µÄµÍµ÷¶ÈÓÅÏȼ¶Ë¯Ãß״̬ʱ¡£
Äں˴¦ÀíÒ»¸ö½ø³ÌÊÕµ½µÄÐźŵÄʱ»úÊÇÔÚÒ»¸ö½ø³Ì´ÓÄÚºË̬·µ»ØÓû§Ì¬Ê±¡£ËùÒÔ£¬µ±Ò»¸ö½ø³ÌÔÚÄÚºË̬ÏÂÔËÐÐʱ£¬ÈíÖжÏÐźŲ¢²»Á¢¼´Æð×÷Óã¬ÒªµÈµ½½«·µ»ØÓû§Ì¬Ê±²Å´¦Àí¡£½ø³ÌÖ»Óд¦ÀíÍêÐźŲŻ᷵»ØÓû§Ì¬£¬½ø³ÌÔÚÓû§Ì¬Ï²»»áÓÐδ´¦ÀíÍêµÄÐźš£
ÄÚ ºË´¦ÀíÒ»¸ö½ø³ÌÊ ......

Linux ÐźÅsignal´¦Àí»úÖÆ Èý

Ç°ÃæÁ½½ÚÒѾ­½éÉÜÁËÓйØÐźŵĴ󲿷ÖÖª
ʶ¡£ÕâÒ»½ÚÎÒÃÇÀ´Á˽âÒ»ÏÂÕâЩϵͳµ÷Óá£ÆäÖУ¬ÏµÍ³µ÷ÓÃsignalÊǽø³ÌÓÃÀ´É趨ij¸öÐźŵĴ¦Àí·½·¨£¬ÏµÍ³µ÷ÓÃkillÊÇÓÃÀ´·¢ËÍÐźŸøÖ¸¶¨½ø³ÌµÄ¡£Õâ

Á½¸öµ÷ÓÿÉÒÔÐγÉÐźŵĻù±¾²Ù×÷¡£ºóÁ½¸öµ÷ÓÃpauseºÍalarmÊÇͨ¹ýÐźÅʵÏֵĽø³ÌÔÝÍ£ºÍ¶¨Ê±Æ÷£¬µ÷ÓÃalarmÊÇͨ¹ýÐźÅ֪ͨ½ø³Ì¶¨Ê±Æ÷µ½Ê±¡£Ëù
ÒÔÔÚÕâÀÎÒÃÇ»¹Òª½éÉÜÕâÁ½¸öµ÷Óá£
        1¡¢signal ϵͳµ÷ÓÃ
        ϵͳµ÷ÓÃsignalÓÃÀ´É趨ij¸öÐźŵĴ¦Àí·½·¨¡£¸Ãµ÷ÓÃÉùÃ÷µÄ¸ñʽÈçÏ£º
        void (*signal(int signum, void (*handler)(int)))(int);
        ÔÚʹÓøõ÷ÓõĽø³ÌÖмÓÈëÒÔÏÂÍ·Îļþ£º
        #include <signal.h>
        ÉÏÊöÉùÃ÷¸ñʽ±È½Ï¸´ÔÓ£¬Èç¹û²»Çå³þÈçºÎʹÓã¬Ò²¿ÉÒÔͨ¹ýÏÂÃæÕâÖÖÀàÐͶ¨ÒåµÄ¸ñʽÀ´Ê¹Óã¨POSIXµÄ¶¨Ò壩£º
        typedef void (*sighandler_t)(int);
   ......

Linux ÐźÅsignal´¦Àí»úÖÆ ËÄ

4¡¢alarmºÍ setitimerϵͳµ÷ÓÃ
        ϵͳµ÷ÓÃalarmµÄ¹¦ÄÜÊÇÉèÖÃÒ»¸ö¶¨Ê±Æ÷£¬µ±¶¨Ê±Æ÷¼ÆÊ±µ½´ïʱ£¬½«·¢³öÒ»¸öÐźŸø½ø³Ì¡£¸Ãµ÷ÓõÄÉùÃ÷¸ñʽÈçÏ£º
        unsigned int alarm(unsigned int seconds);
        ÔÚʹÓøõ÷ÓõĽø³ÌÖмÓÈëÒÔÏÂÍ·Îļþ£º
        #include <unistd.h>
        ϵ
ͳµ÷ÓÃalarm°²ÅÅÄÚºËΪµ÷Óýø³ÌÔÚÖ¸¶¨µÄsecondsÃëºó·¢³öÒ»¸öSIGALRMµÄÐźš£Èç¹ûÖ¸¶¨µÄ²ÎÊýsecondsΪ0£¬Ôò²»ÔÙ·¢ËÍ
SIGALRMÐźš£ºóÒ»´ÎÉ趨½«È¡Ïûǰһ´ÎµÄÉ趨¡£¸Ãµ÷Ó÷µ»ØÖµÎªÉϴζ¨Ê±µ÷Óõ½·¢ËÍÖ®¼äÊ£ÓàµÄʱ¼ä£¬»òÕßÒòΪûÓÐǰһ´Î¶¨Ê±µ÷Óöø·µ»Ø0¡£
        ×¢Ò⣬ÔÚʹÓÃʱ£¬alarmÖ»É趨Ϊ·¢ËÍÒ»´ÎÐźţ¬Èç¹ûÒª¶à´Î·¢ËÍ£¬¾ÍÒª¶à´ÎʹÓÃalarmµ÷Óá£
       
¶ÔÓÚalarm£¬ÕâÀï²»ÔÙ¾ÙÀý¡£ÏÖÔÚµÄϵͳÖкܶà³ÌÐò²»ÔÙʹÓÃalarmµ÷Ó㬶øÊÇʹÓÃsetitimerµ÷ÓÃÀ´ÉèÖö¨Ê±Æ÷£¬ÓÃgetitimerÀ´µÃµ½
¶¨Ê±Æ÷µÄ×´Ì ......

¹ØÓÚLinuxÐźŵÄ×ܽá


±ê×¼ÐźÅÓëʵʱÐźÅ
0-31 Õâ 32 ¸öÐźųÆÎª±ê×¼Ðźš£
´Ó 32 µ½ 63 Ö®¼äµÄ 32 ¸öÐźųÆÎªÊµÊ±Ðźš£
¿ÉÒÔͨ¹ý man 7
signal ²é¿´¶Ô“±ê×¼ÐźŔºÍ“ʵʱÐźŔÏêϸµÄÃèÊö¡£
ÐźÅÅŶÓ
ÿ¸ö½ø³ÌÓµÓÐÒ»¸öÐźŵȴý¶ÓÁС£ÔÚ task_struct ÖÐÓÐÒ»¸ö struct sigpending pending Óò£¬
¾ÍÊǽø³ÌµÄÐźŵȴý¶ÓÁС£
µ±ÏòÒ»¸ö½ø³Ì·¢ËÍÐźÅʱ£¬ÐźŻáÏȱ»ËÍÈë½ø³ÌµÄÐźŵȴý¶ÓÁУ¬È»ºóµÈµ½½ø³Ì±»µ÷¶Èµ½È¥´¦ÀíÐźŵÄʱºò£¬»á´ÓÐźÅ
µÈ´ý¶ÓÁÐÖÐÒÀ´ÎÈ¡³öÐźŽøÐд¦Àí¡£
±ê×¼ÐźŲ»ÄÜÅŶӣ¬¶øÊµÊ±ÐźſÉÒÔÅŶӣº
¼ÙÉè½ø³ÌÆÁ±ÎÁËÒ»¸ö±ê×¼Ðźţ¬µ±¸øËüÁ¬Ðø·¢ËͶà¸öÏàͬ
µÄ±ê×¼Ðźţ¬ÔòÖ»ÓеÚÒ»¸ö±»·ÅÈë½ø³ÌµÄÐźŵȴý¶ÓÁÐÖУ¬ºóÐøµÄ¶¼±»¶ªÆú¡£
¼ÙÉè½ø³ÌÆÁ±ÎÁËÒ»¸öʵʱÐźţ¬µ±¸øËüÁ¬Ðø·¢ËͶà¸öÏàͬµÄʵʱÐźţ¬ÔòËùÓÐ
µÄÐźŶ¼±»·ÅÈë½ø³ÌµÄÐźŽÓÊÕ¶ÓÁÐÖС£
ʵʱÐźÅÊÇÔÚ POSIX.4 ʵʱÐźÅÀ©Õ¹Öж¨ÒåµÄ¡£
ÐÅºÅÆÁ±Î
½ø³Ì¿ÉÒÔÆÁ±ÎËü²»Ïë½ÓÊÕµÄÐźš£
ÔÚ task_struct ÖÐÓÐÒ»¸ö block Óò£¬Ö¸¶¨Á˽ø³ÌÒªÆÁ±ÎµÄÐźż¯ºÏ¡£
ÆÁ±ÎÐźÅ
´øÀ´µÄÓ°Ï죺
    1¡¢   
µ±ÏòÒ»¸ö½ø³ÌͶµÝÐźÅʱ£¬Èç¹û·¢ÏÖ½ø³ÌÆÁ±ÎÁË´ËÐźţ¬Ôò¼´Ê¹´Ë½ø ......

xpÏÂLinux˫ϵͳµÄ°²×°

xpÏ´ÓÓ²Å̰²×°Linux£¬°üÀ¨redflag6 RedHat9 fc4¶¼ÀàËÆ£¨¶¼²»Ð£¡£©£¬µ«Êǰ²×°¹ý³Ì¾ø¶ÔÏêϸ£¡
1¡£Ê×ÏÈÊÇ×¼±¸Ìõ¼þ
    £¨1£© ÌÚ³öµØ·½£ºxpÏÂÒªÓеط½·ÅLinuxµÄ¾µÏñ£¨.iso£©£¬¶øÇÒËùÔÚ´ÅÅÌҪΪfat32¸ñʽ£¬¿ÉÒÔÓÃnorton partitionmagic£¨ºÜ²»´íµÄ¹¤¾ß£¬ÍøÉϺܶàÏÂÔØ£¡£©½«´ÅÅ̸ñʽת»»  ²»¹ýÒòΪÈí¼þ²»Ö§³ÖÓ¢ÎĽö½öÊǽçÃæµÄºº»¯ ËùÒÔÀïÃæ²»ÒªÓÐÖÐÎÄÎļþ¼ÐÖ®ÀàµÄ£¡
             È»ºó»¹ÊÇÕâ¸ö¹¤¾ß ¸øÄãÒª°²×°µÄLinux·Ö³ö×ã¹»µÄ¿Õ¼ä×îºó8GÒÔÉϰɣ¬»¹ÓÐlinux swap·ÖÇø ¾ÍÊÇÄÚ´æÒ»±¶µ½2±¶µÄ¿Õ¼ä´óС£¡ÄĸöÅÌ¿´Äã×Ô¼ºÁË£¬ÎÒÊÇeÅ̹γöÀ´µÄ£¡LinuxµÄisoÔÚfÅÌ£¡
   
   £¨2£©×¼±¸¸ö¹¤¾ßGrub  ±ÈÈçgrub4dos-0.4.4 Ö±½Ó°ÑÀïÃæµÄÎļþ£¨²»ÊÇÎļþ¼Ð£©·Åµ½cÅÌ£¨ÏµÍ³ÅÌ£©
           ÐÞ¸Äboot.iniÎļþ£¨´ËÎļþΪÒþ²ØÊôÐÔ£©£¬ÔÚÎļþ×îºóÒ»ÐмÓÉÏc:\grldr="linux"
           Ð½¨menu.lst£¬£¨Ëæ±ã½¨¸öÎı¾Îĵµ£¬¸Äºó׺Ãû£©ÄÚÈÝÈçÏ£º
title install l ......

linux statº¯Êý½²½â

statº¯Êý½²½â£¨×ª£©
±íÍ·Îļþ:    #include <sys/stat.h>
            #include <unistd.h>
¶¨Ò庯Êý:    int stat(const char *file_name, struct stat *buf);
º¯Êý˵Ã÷:    ͨ¹ýÎļþÃûfilename»ñÈ¡ÎļþÐÅÏ¢£¬²¢±£´æÔÚbufËùÖ¸µÄ½á¹¹ÌåstatÖÐ
·µ»ØÖµ:     Ö´Ðгɹ¦Ôò·µ»Ø0£¬Ê§°Ü·µ»Ø-1£¬´íÎó´úÂë´æÓÚerrno
´íÎó´úÂë:
    ENOENT         ²ÎÊýfile_nameÖ¸¶¨µÄÎļþ²»´æÔÚ
    ENOTDIR        ·¾¶ÖеÄĿ¼´æÔÚµ«È´·ÇÕæÕýµÄĿ¼
    ELOOP          Óû´ò¿ªµÄÎļþÓйý¶à·ûºÅÁ¬½ÓÎÊÌ⣬ÉÏÏÞΪ16·ûºÅÁ¬½Ó
    EFAULT         ²ÎÊýbufΪÎÞЧָÕ룬ָÏòÎÞ·¨´æÔÚµÄÄÚ´æ¿Õ¼ä
    EACCESS        ´æÈ¡Îļþʱ±»¾Ü¾ø
    ENOMEM         ºËÐÄÄÚ´æ²»×ã
&n ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [174] [175] [176] [177] 178 [179] [180] [181] [182] [183]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ