Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

֨װwindowsºóÈçºÎ»Ö¸´linux·ÖÇø


Óð²×°¹âÅÌÒýµ¼ÏµÍ³ 
--> ¼üÈëlinux rescue½øÈë¾ÈԮģʽ 
--> skipýÌå¼ì²é,Ñ¡ÔñÓïÑÔ,¼üÅÌ,Ñ¡continue½øÈëconsole(ÃüÁîÐÐ)ģʽ 
--> chroot /mnt/sysimage --> grub-install /dev/hda(Èç¹ûÓÃlilo,ÓÃÃüÁîlilo) 
--> restart
ɾ³ýlinux·ÖÇøÈçºÎ»Ö¸´windows·ÖÇø
ÓÃwindowsÆô¶¯ÅÌÆô ......

LinuxϵÄÉñÆæÖ¸Áî——netcat


netcat
 ¾ÍÏñ cat 
Ö¸ÁîÒ»樣£¬Ö»ÊÇ將簡單µÄ 
cat 
¹¦ÄÜÍêÈ«¡¸網·»¯¡¹£¬ºÃÓÃ與靈»îµÄ³Ì¶È¿É說ÊǺÜ驚ÈË£¬¶øÔÚ 
Top 100 Network Security Tools
 ÅÅÐаñÖÐ還ÅÅÐеÚËÄÃûÄØ£¡
netcat ³ýÁË ......

Linux fork()º¯Êýѧϰ

    ÔÚ UNIX ϵͳÖУ¬Óû§´´½¨Ò»¸öнø³ÌµÄΨһ·½·¨¾ÍÊǵ÷ÓÃϵͳµ÷Óà fork¡£µ÷ Óà fork µÄ½ø³Ì³ÆÎª¸¸½ø³Ì£¬¶øÐ´´½¨µÄ½ø³Ì½Ð×ö×Ó½ø³Ì¡£ÏµÍ³µ÷ÓõÄÓï·¨¸ñʽ£º
    pid = fork();
    ÔÚ´Óϵͳµ÷Óà fork Öзµ»ØÊ±£¬Á½¸ö½ø³Ì³ýÁË·µ»ØÖµ pid ²»Í¬Í⣬¾ßÓÐÍêȫһÑùµÄÓû§¼¶ÉÏÏÂÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ