5)Linux³ÌÐòÉè¼ÆÈëÃÅ
5)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÐźŴ¦Àí
LinuxϵÄÐźÅʼþ
ǰÑÔ:ÕâÒ»ÕÂÎÒÃÇÌÖÂÛÒ»ÏÂLinuxϵÄÐźŴ¦Àíº¯Êý.
LinuxϵÄÐźŴ¦Àíº¯Êý:
ÐźŵIJúÉú
ÐźŵĴ¦Àí
ÆäËüÐźź¯Êý
Ò»¸öʵÀý
1¡£ÐźŵIJúÉú
LinuxϵÄÐźſÉÒÔÀà±ÈÓÚDOSϵÄINT»òÕßÊÇWindowsϵÄʼþ.ÔÚÓÐÒ»¸öÐźŷ¢Éúʱ
ºòÏàÐŵÄÐźžͻᷢË͸øÏàÓ¦µÄ½ø³Ì.ÔÚLinuxϵÄÐźÅÓÐÒÔϼ¸¸ö. ÎÒÃÇʹÓà kill -l
ÃüÁî¿ÉÒԵõ½ÒÔϵÄÊä³ö½á¹û:
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR
¹ØÓÚÕâЩÐźŵÄÏêϸ½âÊÍÇë²é¿´man 7 signalµÄÊä³ö½á¹û. ÐźÅʼþµÄ·¢ÉúÓÐÁ½¸öÀ´Ô´
:Ò»¸öÊÇÓ²¼þµÄÔÒò(±ÈÈçÎÒÃǰ´ÏÂÁ˼üÅÌ),Ò»¸öÊÇÈí¼þµÄÔÒò(±ÈÈçÎÒÃÇʹÓÃϵͳº¯Êý»ò
ÕßÊÇÃüÁî·¢³öÐźÅ). ×î³£ÓõÄËĸö·¢³öÐźŵÄϵͳº¯ÊýÊÇkill, raise, alarmºÍsetit
imerº¯Êý. setitimerº¯ÊýÎÒÃÇÔÚ¼ÆÊ±Æ÷µÄʹÓà ÄÇÒ»ÕÂÔÙѧϰ.
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
int kill(pid_t pid,int sig);
int raise(int sig);
unisigned int alarm(unsigned int seconds);
killϵͳµ÷ÓøºÔðÏò½ø³Ì·¢ËÍÐźÅsig.
Èç¹ûpidÊÇÕýÊý,ÄÇôÏòÐźÅsig±»·¢Ë͵½½ø³Ìpid.
Èç¹ûpidµÈÓÚ0,ÄÇôÐźÅsig±»·¢Ë͵½ËùÒÔºÍpid½ø³ÌÔÚͬһ¸ö½ø³Ì×éµÄ½ø³Ì
Èç¹ûpidµÈÓÚ-1,ÄÇôÐźŷ¢¸øËùÓеĽø³Ì±íÖеĽø³Ì,³ýÁË×î´óµÄÄĸö½ø³ÌºÅ.
Èç¹ûpidÓÉÓÚ-1,ºÍ0Ò»Ñù,Ö»ÊÇ·¢Ëͽø³Ì×éÊÇ-pid.
ÎÒÃÇÓÃ×î¶àµÄÊǵÚÒ»¸öÇé¿ö.»¹¼ÇµÃÎÒÃÇÔÚÊØ»¤½ø³ÌÄÇÒ»½ÚµÄÀý×ÓÂð?ÎÒÃÇÄǸöʱºòÓÃÕâ
¸öº¯ÊýɱËÀÁ˸¸½ø³ÌÊØ»¤½ø³ÌµÄ´´½¨
raiseϵͳµ÷ÓÃÏò×Ô¼º·¢ËÍÒ»¸ösigÐźÅ.ÎÒÃÇ¿ÉÒÔÓÃÉÏÃæÄǸöº¯ÊýÀ´ÊµÏÖÕâ¸ö¹¦ÄܵÄ.
alarmº¯ÊýºÍʱ¼äÓÐµã¹ØÏµÁË,Õâ¸öº¯Êý¿ÉÒÔÔÚsecondsÃëºóÏò×Ô¼º·¢ËÍÒ»¸öSIGALRMÐźÅ
.. ÏÂÃæÕâ¸öº¯Êý»áÓÐʲô½á¹ûÄØ?
#include <unistd.h>
main()
{
unsigned int i;
alarm(1);
for(i=0;1;i++)
printf("I=%d",i);
}
SIGALRMµÄȱʡ²Ù×÷ÊǽáÊø½ø³Ì,ËùÒÔ³ÌÐòÔÚ1ÃëÖ®ºó½áÊø,Äã¿ÉÒÔ¿´¿´ÄãµÄ×îºóIֵΪ¶àÉÙ
,À´±È½Ïһϴó¼ÒµÄϵͳÐÔÄܲîÒì
Ïà¹ØÎĵµ£º
Õâ¸öÊÇÎÒÔÚÒ»±¾ÊéÉÏ¿´µ½µÄ£¬ÆäÖеÄһЩ´úÂëÎÒÓÐËù¸Ä±ä£¬Ð´¸ø¸÷λºÃÓѹ²Ïíһϣ¡
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h&g ......
ÆäʵÊǸöÂù¼òµ¥µÄÎÊÌâ¡£ÔÚLDD3µÄµÚ15ÕÂÉÏÓÐд£¨¼û“Remapping Specific I/O Regions”ÕâÒ»½Ú£©¡£²»¹ýµ±Ê±×÷ÕßÑ¡ÔñÁËÒ»¸ö´íÎóµÄ×ö·¨£ºÏȰÑÕâ¿éIO¿Õ¼äÓÃioremapÓ³Éäµ½ÁËÄں˿ռ䣬ȻºóÔÚÓû§½ø³Ì·ÃÎʱ»Ó³ÉäµÄµØÖ·Ëù²ú ÉúµÄȱҳÖжÏÀÓÃvmalloc_to_pageµÃµ½page£¬·µ»Ø¸øÓû§½ø³Ì¡£
È»¶ø£¬vmalloc_to_pageû·¨Óà ......
http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html
¹²ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½
½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£ ......
9)LinuxÏÂC¿ª·¢¹¤¾ß½éÉÜ
LinuxµÄ·¢ÐаæÖаüº¬Á˺ܶàÈí¼þ¿ª·¢¹¤¾ß. ËüÃÇÖеĺܶàÊÇÓÃÓÚ C ºÍ C++Ó¦ÓóÌÐò¿ª·¢
µÄ. ±¾ÎĽéÉÜÁËÔÚ Linux ÏÂÄÜÓÃÓÚ C Ó¦ÓóÌÐò¿ª·¢ºÍµ÷ÊԵŤ¾ß. ±¾ÎĵÄÖ÷Ö¼ÊǽéÉÜÈç
ºÎÔÚ Linux ÏÂʹÓà C ±àÒëÆ÷ºÍÆäËû C ±à³Ì¹¤¾ß, ¶ø·Ç C ÓïÑÔ±à³ÌµÄ½Ì³Ì.
GNU C ±àÒëÆ÷
GNU C ±àÒëÆ÷(GCC)ÊÇÒ»¸öÈ«¹¦Ä ......
windowsÏÂʹÓÃfoxmailºÜÈÝÒ×ÉèÖÃhotmailºÍgmail£¬×ªµ½linuxºó£¬·¢ÏÖevolution²»Ì«ºÃʹ£¬ÓʼþÐÅÏ¢µÄ±àÂëû·¨ÉèÖã¬gbk±àÂëµÄÓʼþÖ÷ÌâÏÔʾÂÒÂ룬ֻºÃ»»³Éthunderbird¡£
thunderbird±¾Éí²»Ö§³ÖhotmailÕâÀàwebmailµÄÊÕ·¢£¬ÐèÒªÏÂÔØ²å¼þwebmailºÍhotmail£¬ÐèÒª½ÓÊÕyahooµÄ ......