Linuxϵͳµ÷Óà sigactionº¯ÊýÏê½â(Ò»)
¹¦ÄÜÃèÊö£º
´¦ÀíÐźš£¼È¿ÉÓÃÓÚÉ趨¶ÔÈÎÒâÐźŵĴ¦Àí·½Ê½£¬Ò²¿ÉÓÃÓÚ¼ìÑé¸ÃÐźŵÄĿǰԤÉè´¦Ö÷½Ê½¡£
Ó÷¨£º
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
²ÎÊý£º
signum£º³ýÁËSIGKILLºÍSIGSTOPÖ®ÍâµÄÆäËüÈκÎÐźűàÂë¡£
act£ºÈç¹ûÖµ·ÇNULL£¬½«°²×°Îªsignum¹ØÁªÐźŵÄд¦Àí·½Ê½¡£
oldact£ºÈç¹ûÖµ·ÇNULL£¬´æ´¢ÒÔǰ¶Ôsignum¹ØÁªÐźŵĴ¦Àí·½Ê½¡£
sigactionµÄ½á¹¹ÐÎ̬ÈçÏ£º
struct sigaction {
void (*sa_handler)(int);
void (*sa_sigaction)(int, siginfo_t *, void *);
sigset_t sa_mask;
int sa_flags;
void (*sa_restorer)(void);
}
ÔÚһЩÌåϵÉÏ£¬sa_handlerºÍsa_sigaction¹²ÓÃÒ»¸öÁªºÏÌå(union)£¬ËùÒÔ²»ÒªÍ¬Ê±Ö¸¶¨Á½¸ö×ֶεÄÖµ¡£
sa_restorer×Ö¶ÎÒÑÌÔÌ£¬²»Ó¦¸ÃÔÙ±»Ê¹Óá£
sa_handler×Ö¶ÎÖ¸¶¨ÓësignumÐźŹØÁªµÄÐÐΪ£¬¿ÉÄÜÊÇSIG_DFLĬÈÏÐÐΪ£¬SIG_IGNºöÂÔ½ÓË͵½µÄÐźţ¬»òÕßÒ»¸öÐźŴ¦Àíº¯ÊýÖ¸Õë¡£Õâ¸öº¯ÊýÒÔÒ»¸öÐźűàÂë×÷ΪËüµÄΨһ²ÎÊý¡£
Èç¹ûsa_flagsÖдæÔÚSA_SIGINFO±êÖ¾£¬ÄÇôsa_sigaction½«×÷ΪsignumÐźŵĴ¦Àíº¯Êý¡£Õâ¸öº¯ÊýµÄµÚÒ»²ÎÊýÊÇÐźűàÂ룬µÚ¶þ²ÎÊýÊÇsiginfo_t½á¹¹µÄÖ¸Õ룬µÚÈý²ÎÊýÊÇucontext_t½á¹¹Ö¸Õë(ÔìÐÍΪvoid *)¡£
sa_maskÖ¸¶¨ÐźŴ¦Àíº¯ÊýÖ´ÐеĹý³ÌÖÐÓ¦±»×èÈûµÄÐźš£ÁíÍ⣬³ýÁËSA_NODEFER±êÖ¾±»Ö¸¶¨Í⣬´¥·¢ÐźŴ¦Àíº¯ÊýÖ´ÐеÄÄǸöÐźÅÒ²»á±»×èÈû¡£
sa_flagsÖ¸¶¨Ò»ÏµÁÐÓÃÓÚÐÞ¸ÄÐźŴ¦Àí¹ý³ÌÐÐΪµÄ±êÖ¾£¬ÓÉÏÂÃæµÄ0¸ö»ò¶à¸ö±ê־ͨ¹ýorÔËËã×éºÏ¶ø³É£º
SA_NOCLDSTOP //´Ë±ê־Ϊonʱ£¬¼ÙÈçsignumµÄÖµÊÇSIGCHLD£¬ÔòÔÚ×Ó½ø³ÌÍ£Ö¹»ò»Ö¸´Ö´ÐÐʱ²»»á´«ÐźŸøµ÷Óñ¾ÏµÍ³µ÷ÓõĽø³Ì¡£
SA_NOCLDWAIT //´Ë±ê־Ϊonʱ£¬µ±µ÷ÓôËϵͳµ÷ÓõĽø³ÌÖ®×Ó½ø³ÌÖÕֹʱ£¬ÏµÍ³²»»á½¨Á¢zombie½ø³Ì¡£
SA_RESETHAND //´Ë±ê־Ϊonʱ£¬ÐźŴ¦Àíº¯Êý½ÓÊÕµ½Ðźź󣬻áÏȽ«¶ÔÐźŴ¦ÀíµÄ·½Ê½ÉèΪԤÉ跽ʽ£¬¶øÇÒµ±º¯Êý´¦Àí¸ÃÐźÅʱ£¬ºóÀ´·¢ÉúµÄÐźŽ«²»»á±»×èÈû¡£
SA_ONSTACK //Èç¹ûÀûÓÃsigaltstack()½¨Á¢ÐźÅרÓöÑÕ»£¬Ôò´Ë±êÖ¾»á°ÑËùÓÐÐźÅËÍÍù¸Ã¶ÑÕ»¡£
SA_RESTART //´Ë±ê־Ϊonʱ£¬ºËÐÄ»á×Ô¶¯ÖØÆôÐźÅÖжϵÄϵͳµ÷Ó
Ïà¹ØÎĵµ£º
ÒÔDebianµÄ·½Ê½ÏµÁÐ(IN THE DEBIAN WAY):
LinuxÍøÂç»ù´¡
etony C.F.AN etony@tom.com
v0.0.1, 2006-7-23
--------------------------------------------------------------------------------
±¾ÎĵµÖ÷Òª½éÉܽ²ÊöÔÚ DebianϵͳÏÂÓйØÍøÂçµÄһЩ»ù±¾ÐÅÏ¢.
------------------------------------------------------- ......
¹ØÓÚlinuxͼÐνçÃæµÄ»ù±¾ÖªÊ¶
×÷Õß:GuCuiwen email:win2linux@163.com
ºÜ¶àLinux³õѧÕß·Ö²»Çå³þLinuxºÍXÖ®¼ä, XºÍXfree86Ö®¼ä, XºÍKDE, GNOMEµÈÖ®¼äÊÇʲô¹ØÏµ. ³£³£»ìÏý¸ÅÄî,ÎÒÏëÒԱȽÏÒ×ÓÚÀí½âµÄ·½Ê½ËµÃ÷Ò»ÏÂX,X11,XFREE,WM,KDE,GNOMEµÈÖ®¼äµÄ¹ØÏµ.ÓÉÓÚ±¾ÈËˮƽÓÐÏÞ¿ÉÄÜ´æÔÚ´íÎó,Çë¸ßÊÖÖ¸Õý ......
VNC£¬È«³ÆÎªVirtual Network Computing£¬ËüÊÇÒ»¸ö×ÀÃæ¹²Ïíϵͳ¡£ËüµÄ¹¦ÄÜ£¬ÀàËÆÓÚwindowsÖеÄÔ¶³Ì×ÀÃæ¹¦ÄÜ¡£VNCʹÓÃÁËRFB(Remote FrameBuffer£¬Ô¶³ÌÖ¡»º³å£©ÐÒéÀ´ÊµÏÖÔ¶³Ì¿ØÖÆÁíÍâһ̨¼ÆËã»ú¡£Ëü°Ñ¼üÅÌ¡¢Êó±ê¶¯×÷·¢Ë͵½Ô¶³Ì¼ÆËã»ú£¬²¢°ÑÔ¶³Ì¼ÆËã»úµÄÆÁÄ»·¢»Øµ½±¾µØ¡£
VNC¼¼ÊõÓëÆ½Ì¨Î޹أ¬VNC Viewer¿ÉÒÔºÍVNC ServerÔÚ²»Í ......
²é¿´µ±Ç°ÅäÖÃ×Ö·û¼¯ locale
²é¿´È«²¿×Ö·û¼¯ locale -a
ÉèÖÃ×Ö·û¼¯ export LANG=zh_CN.gbk
easy
tcpdump Ò»¸ölinux¼àÌýÍøÂç·ÃÎʵŤ¾ß
¼àÌý·þÎñÆ÷¼°¶Ë¿Ú
tcpdump -nn -i eth0 src host www.codigg.com and src port 80
ÕýÔÚʹÓõÄsql
tcpdump -s 0 -l -w - dst port 3306 | strings ......