alarm
Èç¹û²»ÒªÇóºÜ¾«È·µÄ»°£¬Óà alarm() ºÍ signal() ¾Í¹»ÁË
unsigned int alarm(unsigned int seconds)
ʾÀý£º
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
void sigalrm_fn(int sig)
{
/* Do something */
printf("alarm!\n");
alarm(2);
return;
......
ͻ񻣼
±¾ÎĽ²ÊöµÄʱ½ø³Ì¹ÜÀíµÄ»ù±¾¸ÅÄîºÍ½ø³Ì¹ÜÀí¹¤¾ß½éÉÜ£»ÎÄÖеÄÖØµã¶Ô½ø³Ì¹ÜÀí¹¤¾ßµÄ·ÖÀà½éÉܼ°Ó¦ÓþÙÀý£¬°üÀ¨ ps¡¢pgrep¡¢top
¡¢kill¡¢pkill¡¢killall¡¢niceºÍrenice µÈ¹¤¾ß¡£
http://www.linuxsir.org/main/?q=node/210
1¡¢³ÌÐòºÍ½ø³Ì£»
³ÌÐòÊÇΪÁËÍê³ÉijÖÖÈÎÎñ¶øÉè¼ÆµÄÈí¼þ£¬±ÈÈçOpenOfficeÊdzÌÐò¡£Ê²Ã´Êǽø³ÌÄØ£¿½ø³Ì¾ÍÊÇÔËÐÐÖеijÌÐò¡£
Ò»¸öÔËÐÐ×ŵijÌÐò£¬¿ÉÄÜÓжà¸ö½ø³Ì¡£ ±ÈÈç LinuxSir.Org
ËùÓõÄWWW·þÎñÆ÷ÊÇapache·þÎñÆ÷£¬µ±¹ÜÀíÔ±Æô¶¯·þÎñºó£¬¿ÉÄÜ»áÓкöàÈËÀ´·ÃÎÊ£¬Ò²¾ÍÊÇ˵Ðí¶àÓû§À´Í¬Ê±ÇëÇóhttpd·þÎñ£¬apache·þÎñÆ÷½«»á´´½¨Óжà¸öhttpd½ø³ÌÀ´¶ÔÆä½øÐзþÎñ¡£
1.1 ½ø³Ì·ÖÀࣻ
½ø³ÌÒ»°ã·ÖΪ½»»¥½ø³Ì¡¢Åú´¦Àí½ø³ÌºÍÊØ»¤½ø³ÌÈýÀà¡£
ÖµµÃÒ»ÌáµÄÊÇÊØ»¤½ø³Ì×ÜÊÇ»îÔ¾µÄ£¬Ò»°ãÊǺǫ́ÔËÐУ¬ÊØ»¤½ø³ÌÒ»°ãÊÇÓÉϵͳÔÚ¿ª»úʱͨ¹ý½Å±¾×Ô¶¯¼¤»îÆô¶¯»ò³¬¼¶¹ÜÀíÓû§rootÀ´Æô¶¯¡£±ÈÈçÔÚFedora»òRedhatÖУ¬ÎÒÃÇ¿ÉÒÔ¶¨Òåhttpd
·þÎñÆ÷µÄÆô¶¯½Å±¾µÄÔËÐм¶±ð£¬´ËÎļþλÓÚ/etc/init.dĿ¼Ï£¬ÎļþÃûÊÇhttpd£¬/etc/init.d/httpd
¾ÍÊÇhttpd·þÎñÆ÷µÄÊØ»¤³ÌÐò£¬µ±°ÑËüµÄÔËÐм¶±ðÉèÖÃΪ3ºÍ5ʱ£¬µ±ÏµÍ³Æô¶¯Ê±£¬Ëü»á¸ú×ÅÆô¶¯¡£
[root@localhost ~]# chkconfig --level ......
ÔÚ UNIX ϵͳÖУ¬Óû§´´½¨Ò»¸öнø³ÌµÄΨһ·½·¨¾ÍÊǵ÷ÓÃϵͳµ÷Óà fork¡£µ÷ Óà fork µÄ½ø³Ì³ÆÎª¸¸½ø³Ì£¬¶øÐ´´½¨µÄ½ø³Ì½Ð×ö×Ó½ø³Ì¡£ÏµÍ³µ÷ÓõÄÓï·¨¸ñʽ£º
pid = fork();
ÔÚ´Óϵͳµ÷Óà fork Öзµ»ØÊ±£¬Á½¸ö½ø³Ì³ýÁË·µ»ØÖµ pid ²»Í¬Í⣬¾ßÓÐÍêȫһÑùµÄÓû§¼¶ÉÏÏÂÎÄ¡£ÔÚ×Ó½ø³ÌÖУ¬pid µÄֵΪÁã¡£ÔÚϵͳÆô¶¯Ê±ÓɺËÐÄÄÚ ²¿µØ´´½¨µÄ½ø³Ì0ÊÇΨһ²»Í¨¹ýϵͳµ÷Óà fork ¶ø´´½¨µÄ½ø³Ì¡£
ºËÐÄΪϵͳµ÷Óà fork Íê³ÉÏÂÁвÙ×÷£º
Ϊнø³ÌÔÚ½ø³Ì±íÖзÖÅäÒ»¸ö¿ÕÏî¡£
Ϊ×Ó½ø³Ì¸³Ò»¸öΨһµÄ½ø³Ì±êʶºÅ (PID)¡£
×öÒ»¸ö¸¸½ø³ÌÉÏÏÂÎĵÄÂß¼¸±±¾¡£ÓÉÓÚ½ø³ÌµÄijЩ²¿·Ö£¬ÈçÕýÎÄÇø£¬¿ÉÄܱ»¼¸¸ö ½ø³ÌËù¹²Ïí£¬ËùÒÔºËÐÄÓÐʱֻҪÔö¼Óij¸öÇøµÄÒýÓÃÊý¼´¿É£¬¶ø²»ÊÇÕæµÄ½«¸ÃÇø¿½±´µ½Ò»¸ö еÄÄÚ´æÎïÀíÇø¡£
Ôö¼ÓÓë¸Ã½ø³ÌÏà¹ØÁªµÄÎļþ±íºÍË÷Òý½Úµã±íµÄÒýÓÃÊý¡£
¶Ô¸¸½ø³Ì·µ»Ø×Ó½ø³ÌµÄ½ø³ÌºÅ£¬¶Ô×Ó½ø³Ì·µ»ØÁã¡£
Àí½âϵͳµ÷Óà fork µÄʵÏÖÊÇÊ®·ÖÖØÒªµÄ£¬ÒòΪ×Ó½ø³Ì¾ÍÏó´ÓÌì¶ø½µÒ»ÑùµØ¿ªÊ¼ ËüµÄÖ´ÐÐÐòÁС£
ÏÂÃæÊÇϵͳµ÷Óà fork µÄËã·¨¡£ºËÐÄÊ×ÏÈÈ·ÐÅÓÐ×ã¹»µÄ×ÊÔ´À´³É¹¦Íê³É fork ......
1¡£ÏÂÔØ2.6.9µÄÄÚºË
2¡£ÔÚ/usr/srcĿ¼Ï½âѹÄÚºË
tar zvxf /ÏÂÔØµÄ·¾¶/linux-2.6.0.tar.gz
3¡£ÅäÖÃ
# make mrproper
# make menuconfig
make mrproper ÊÇÇåÀí´úÂëÊ÷µÄ¶¯×÷£¬±£Ö¤Ô´´úÂëÊǸɾ»µÄ
4.±àÒë
make
5¡£°²×°
make modules_install
make install
¿´À´2¡£6µÄ±àÒëȷʵ±ÈÒÔǰ·½±ã¶àÁË£¬ÒÔǰµÄmake bzImage make modulesµÈ²½Öè¶¼ÔÚmakeÒ»²½¶¼¸ã¶¨£¬ÒÔǰ»¹Òªcp Äں˺ÍSystem.map£¬ÐÞ¸ÄGrub.confµÄ²½Ö裬ͳͳmake install¸ã¶¨£¬·½±ã°É
Èç¹ûÄã·ÅÐÄ£¬Äã¿ÉÒÔÈ¥/bootĿ¼¿´¿´ÊÇ·ñÒѾÓÐ×îеÄvlinuz-2.6.0ºÍSystem.map-2.6.0»¹ÓÐgrub.confÊÇ·ñÒѾ¸øÄã×Ô¶¯ÅäÖúÃÁË
ok£¬reboot»úÆ÷
Äں˵ÄÅäÖÃÓë±àÒë
Linuxµ±Ç°Ö§³ÖµÄCPUÀàÐͰüÀ¨x86¡¢ARM¡¢DEC Alpha¡¢SUN Sparc¡¢M68000¡¢MIPS¡¢PowerPCµÈ£¬Ó¦¸Ã˵ÉÏÊöÀàÐÍÒѾ°üÀ¨¾ø´ó¶àÊýÓû§Ê¹ÓõÄCPUÐͺš£ÔÚ°²×°ÓëÅäÖùý³ÌÖУ¬Linux»á×Ô¶¯Ê¶±ðÕâЩÐͺš£
ͨ³£ÒªÔËÐеĵÚÒ»¸öÃüÁîÊÇ£º££cd /usr/src/linux;make mrproper¡£È·±£Ô´´úÂëĿ¼ÏÂûÓв»ÕýÈ·µÄ.oÎļþÒÔ¼°ÎļþµÄ»¥ÏàÒÀÀµ¡£
½ÓÏÂÀ´µÄÄÚºËÅäÖùý³Ì±È½Ï·³Ëö£¬µ«ÊÇÅäÖõÄÊʵ±Óë·ñÓëÈÕºóLinuxµÄÔËÐÐÖ±½ÓÏà¹Ø£¬ÓбØÒªÁ ......
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" »ò "yes" »Ø³µ¡£
4.ÔÚÃüÁîÐÐÊäÈë:
vi /etc/profile
ÔÚÀïÃæÌí¼ÓÈçÏÂÄÚÈÝ
export JAVA_HOME=/usr/java/jdk1.6.0_02
export JAVA_BIN=/usr/java/jdk1.6.0_02/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
5.½øÈë /usr/bin/Ŀ¼
cd /usr/bin
ln -s -f /usr/java/jdk1.6.0_02/jre/bin/java
ln -s -f /usr/java/jdk1.6.0_02/bin/javac
6. ÔÚÃüÁîÐÐÊäÈë
java -version
ÆÁÄ»Êä³ö:
java version "jdk1.6.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build jdk1.6.0_02)
Java HotSpot(TM) Client VM (build jdk1.6.0_02, mixed mode)
7. °²×°JDK1.6Íê±Ï.
°²×°tomcat
£±£®ÏÂÔØTomcat
ÔÚÏÂÃæµÄµØÖ·Ï ......
¡¡¡¡ÏµÍ³»·¾³£ºLinux 5.0 AS 64λ
¡¡¡¡²½Ö裺
¡¡¡¡1¡¢ÏÂÔØapache-tomcat-5.5.23.tarºÍjdk-1_5_0_12-linux-i586.bin²¢´æ·ÅÔÚ/usr/localÎļþ¼ÐÏ£»
¡¡¡¡2¡¢°²×°jdk
¡¡¡¡[root@localhost local]#chmod 775 jdk-1_5_0_12-linux-i586.bin '·Ç±ØÐ룬ҪÊÇÖ±½ÓÔËÐÐʱÌáʾȨÏÞ²»¹»Ê±¸Ä±äȨÏÞ£»
¡¡¡¡[root@localhost local]#./jdk-1_5_0_12-linux-i586.bin '¿ªÊ¼°²×°£¬Ä¬Èϰ²×°¾Í¿É£»
¡¡¡¡3¡¢°²×°Tomcat
¡¡¡¡[root@localhost local]#tar xzvf apache-tomcat-5.5.23.tar ''ĬÈϰ²×°¾Í¿ÉÒÔ
¡¡¡¡[root@localhost local]#mv apache-tomcat-5.5.23 tomcat5.5 'ÐÞ¸ÄĬÈϰ²×°µÄÎļþ¼ÐÃû³Æ·½±ã½ÓÏÂÀ´µÄÅäÖû·¾³±äÁ¿
¡¡¡¡4¡¢ÉèÖÃjdkÓëTomcat»·¾³±äÁ¿
¡¡¡¡[root@localhost local]# vi /etc/profile 'ÐèÒªÕÆÎÕviÃüÁîµÄʹÓ÷½·¨¡£¼û¸½ÑÔ¡£
¡¡¡¡ÔÚÎļþµÄÄ©ÐкóÊäÈëÈçÏÂÄÚÈÝ£º
¡¡¡¡export JAVA_HOME=/usr/local/jdk1.5.0_12
¡¡¡¡export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
¡¡¡¡export CATALINA_BASE=/usr/local/tomcat5.5
¡¡¡¡export CATALINA_HOME=/usr/local/tomcat5.5
¡¡¡¡PATH=$JAVA_HOME/bin:$PATH:$PATH:$CATALINA_HOME/bi ......
¡¡¡¡ÏµÍ³»·¾³£ºLinux 5.0 AS 64λ
¡¡¡¡²½Ö裺
¡¡¡¡1¡¢ÏÂÔØapache-tomcat-5.5.23.tarºÍjdk-1_5_0_12-linux-i586.bin²¢´æ·ÅÔÚ/usr/localÎļþ¼ÐÏ£»
¡¡¡¡2¡¢°²×°jdk
¡¡¡¡[root@localhost local]#chmod 775 jdk-1_5_0_12-linux-i586.bin '·Ç±ØÐ룬ҪÊÇÖ±½ÓÔËÐÐʱÌáʾȨÏÞ²»¹»Ê±¸Ä±äȨÏÞ£»
¡¡¡¡[root@localhost local]#./jdk-1_5_0_12-linux-i586.bin '¿ªÊ¼°²×°£¬Ä¬Èϰ²×°¾Í¿É£»
¡¡¡¡3¡¢°²×°Tomcat
¡¡¡¡[root@localhost local]#tar xzvf apache-tomcat-5.5.23.tar ''ĬÈϰ²×°¾Í¿ÉÒÔ
¡¡¡¡[root@localhost local]#mv apache-tomcat-5.5.23 tomcat5.5 'ÐÞ¸ÄĬÈϰ²×°µÄÎļþ¼ÐÃû³Æ·½±ã½ÓÏÂÀ´µÄÅäÖû·¾³±äÁ¿
¡¡¡¡4¡¢ÉèÖÃjdkÓëTomcat»·¾³±äÁ¿
¡¡¡¡[root@localhost local]# vi /etc/profile 'ÐèÒªÕÆÎÕviÃüÁîµÄʹÓ÷½·¨¡£¼û¸½ÑÔ¡£
¡¡¡¡ÔÚÎļþµÄÄ©ÐкóÊäÈëÈçÏÂÄÚÈÝ£º
¡¡¡¡export JAVA_HOME=/usr/local/jdk1.5.0_12
¡¡¡¡export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
¡¡¡¡export CATALINA_BASE=/usr/local/tomcat5.5
¡¡¡¡export CATALINA_HOME=/usr/local/tomcat5.5
¡¡¡¡PATH=$JAVA_HOME/bin:$PATH:$PATH:$CATALINA_HOME/bi ......