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

ÉîÈëÀí½âLinux kernel£¨Äںˣ©ÖеÄsignalº¯Êý

ÔÚLinuxÄں˴úÂëÖУ¬ÓÐÒ»¸öÐźŴ¦Àí°ó¶¨Æ÷º¯Êýsignal£¬Ëüµ½Ô­ÐͶ¨ÒåÈçÏ£¬Í¨¹ýman 2 signal¿ÉÒԲ鿴ÆäÔ­ÐÍ¡£
#include <signal.h>
typedef void (*sighandler_t)(int);    (1)
sighandler_t signal(int signum,sighandler_t handler);    (2)
µÚÒ»¾äÊǰüº¬Í·Îļþ£¬µÚ¶þ¾äÊÇÀàÐͶ¨Ò壬µÚÈý¾ä²ÅÊÇsignalº¯Êýµ½ÕæÕýÉùÃ÷¡£À©Õ¹ÉùÃ÷ºó£¬ÕæÕýµ½ÉùÃ÷Ϊ
void (*signal(int signum,void (*sighandler)(int)))(int);    (3)
µÚ£¨3£©¿´ÆðÀ´±ÈµÚ£¨1£©ºÍ£¨2£©¾ä¸üÄÑÀí½â£¬Ê×ÏÈ´Ó£¨1£©£¨2£©ÏÂÊÖ¡£
£¨1£©±íʾsighandler_tÊÇ×Ô¶¨ÒåÀàÐÍ£¬ËüÆäʵÊÇÒ»ÖÖº¯ÊýÖ¸ÕëÀàÐÍ£¬ËüÖ¸Ïòµ½º¯Êýµ½ÐβÎΪint£¬·µ»ØÖµÎªvoid¡£
£¨2£©±íʾsignalº¯Êýµ½ÐβÎÓÐÒ»¸öintÐÍsignum£¬ÒÔ¼°Ò»¸ösighandler_tÐ͵½ÐβÎhandler£¬·µ»ØÒ»¸ösighandler_tÐ͵½Öµ£¬ÓÉ£¨1£©¿ÉÒÔÖªµÀ£ºsighandler_tÊǺ¯ÊýÖ¸ÕëÀàÐÍ£¬ËùÒÔsignalµ½µÚ¶þ¸öÐβÎÊÇÒ»¸öº¯ÊýÖ¸Õ룬²¢ÇÒsignalº¯Êý·µ»ØÒ»¸öº¯ÊýÖ¸Õë¡£ËüÃÇÖ¸Ïòµ½º¯ÊýÀàÐͶ¼ÊǾßÓÐÒ»¸öintÐβΣ¬·µ»ØÎªvoidµ½º¯Êý¡£
    ÃԻ󣺶ÔÓÚsignalº¯Êý£¬¶ÔÓÚ³õѧÕßÀ´Ëµ£¬²»½öÊÇÓï·¨Éϵ½ÃԻ󣬻¹ÓÐÓ¦ÓÃÉϵ½ÃÔ»ó£¬ÏÂÃæ½áºÏÎÒ×Ô¼ºµ½Àí½â£¬¾ÙÀý˵Ã÷ÔõÑùÀí½âsignalº¯Êý¡£
´úÂëthink.c-----------------------------------------------------------------------------------
#include<stdio.h>
/*¶¨ÒåÒ»¸öº¯Êý*/
void func(int a){
    printf("in func a=%d\n",a);
}
/*ÉùÃ÷Ò»¸öº¯ÊýÖ¸Õë*/
void (*pfunc)(int);
/*¶¨ÒåÎÒÃÇ×Ô¼ºµ½my_signalº¯Êý*/
void (*my_signal(int sig,void (*handler)(int h)))(int c){
    printf("in my_signal\n");
    /*ÏëÒ»ÏÂÏÂÃæÒ»¾ä£¬¶ÔÂð£¿*/
    return handler;
}
int main(){
    printf("before invoke 'void func(int)'\n");
    func(1);        /*(4)*/
    pfunc=func;
    printf("before invoke 'void func(int) by function pointer'\n");
    pfunc(2);        /*(5)*/
    printf("before invoke 'my_signal(int sig,void (*handler)(int h)))'\n");
&n


Ïà¹ØÎĵµ£º

Linux Cµ÷ÊÔÈëÃÅ

1.×Ô¶¨ÒåÊä³ö
  Ïë±Ø´ó¼Ò¶¼ÓÐÀûÓÃÊä³öº¯ÊýÈçprintfÀ´°ïÖúÎÒÃǵ÷ÊÔ³ÌÐòµÄ¾­Àú£¬ÕâÊÇÒ»ÖֱȽÏԭʼµÄ³ÌÐòµ÷ÊÔ¸¨Öú·½·¨£¬ÔÚLinuxÏÂÒ²¿ÉÒÔΪÎÒÃÇËùÓᣲ»¹ýÕâÖÖ·½·¨ÓÐÒ»¸öÃ÷ÏÔµÄȱµã£¬¾ÍÊÇÔÚµ÷ÊÔÍêºóÎÒÃDZØÐë×¢ÊÍ»òɾ³ýµôÕâЩ¸¨Öú´úÂë¡£Linux CÌṩÁË-DDEBUGÕâ¸ö±àÒë±ê¼ÇÀ´¶¨ÒåDEBUGÕâ¸ö·ûºÅ£¬½èÖúÓڸ÷ûºÅ£¬ÎÒÃÇ¿ÉÒÔÔÚÓ¦Ó ......

linuxÎļþIOÖ®ÕûÀí±Ê¼Ç£¨Ò»£©

ÒÔÏÂÊǸöÈ˾õµÃ±È½ÏÏêϸ¶øÇÒÒ×ÓÚÀí½âµÄ¼¸ÆªÎÄÕ£¬ËùÒÔ°ÑËüÒ»ÆðÌù³öÀ´×öΪ±Ê¼Ç£¨Ò»£©¡¢£¨¶þ£©¡¢£¨Èý£©£¬Ò²Ï£Íû¶Ô¹ý·ÕßÌṩһµã·½±ã¡£
µÚ3ÕÂÎļþI / O
3.1 ÒýÑÔ
        ±¾Õ¿ªÊ¼ÌÖÂÛU N I Xϵͳ£¬ÏÈ˵Ã÷¿ÉÓõÄÎļþI / Oº¯Êý——´ò¿ªÎļþ¡¢¶ÁÎļþ¡¢Ð´ÎļþµÈµÈ¡£´ó¶àÊýU N I ......

Linuxϰ²×°jdk&tomcat

1.ÏÂÔØjdk-6u2-linux-i586-rpm.bin
2. ÔÚµ±Ç°Ä¿Â¼ÊäÈë
sh jdk-6u2-linux-i586-rpm.bin
3.¿´µ½ °²×°³ÌÐòÔÚѯÎÊÄúÊÇ·ñ×ðÊØÐí¿ÉЭÒéÒ³Ãæ ,»Ø³µ,¿Õ¸ñ¶¼¿ÉÒÔ,¿´ÍêЭÒé.
³öÏÖÒ»ÐÐ×Ö£ºDo you aggree to the above license terms? [yes or no]
°²×°³ÌÐòÔÚÎÊÄúÊÇ·ñÔ¸Òâ×ñÊØ¸Õ²Å¿´¹ýµÄÐí¿ÉЭÒé¡£µ±È»ÒªÍ¬ÒâÁË£¬ÊäÈë"y" »ò " ......

linux ×Ö·û¼¯×ª»»½Ìѵ

linuxϵÄ×Ö·û¼¯×ª»»ÃüÁîÊÇiconv£¬ÎÒÃǶ¼ÖªµÀ´Óutf8±àÂëת»»³Égbk±àÂë¿ÉÒÔÕâô×ö£º
iconv -f utf8 -t gbk aaa.dat > bbb.dat
µ«ÊÇ£¬½ñÌìÓöµ½Ò»¸öÎÊÌâ·¢ÏÖ¶ÔÓÚͬÑùµÄÎļþ£¬²»Í¬µÄ»úÆ÷ÉÏÓеÄÄÜתÓеIJ»ÄÜת£¬ºÜÊÇÀ§»ó¡£×îºó·¢ÏÖ£¬Ô­À´ÊDzÙ×÷ϵͳµÄÎÊÌ⣬һ̨ÊÇredhat£¬Ò»Ì¨ÊÇsolaris¡£ÔÚͬһ¸ö²Ù×÷ϵͳÉÏ´Ógbk--utf8--gb ......

Linux FTP·þÎñÅäÖÃ

ÏÂÃæÊÇÔÚÐéÄâ»úÖеÄlinuxµÄftpµÄ»ù±¾ÅäÖã¨redhat AS 4.0ΪÀý£©£º
Ê×ÏÈÒª°²×°linuxϵÄvsftpÈí¼þ°ü¡£
  rpm -qa|gerp vsftpd      //²éÕÒvsftpdÓÐûÓа²×°
[root@RAC01 ~]# rpm -qa|grep vsftpd
vsftpd-2.0.1-5.EL4.7
[root@RAC01 ~]#
Èç¹ûûÓа²×°¾Í vsftpd-2.0.1-5.i386.rpm
ÔÚli ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ