Ò»¡¢¶¨Ò壺ʲôÊǹ¶ù½ø³ÌºÍ½©Ê¬½ø³Ì
½©Ê¬½ø³Ì£ºÒ»¸ö×Ó½ø³ÌÔÚÆä¸¸½ø³Ì»¹Ã»Óе÷ÓÃwait()»òwaitpid()µÄÇé¿öÏÂÍ˳ö¡£Õâ¸ö×Ó½ø³Ì¾ÍÊǽ©Ê¬½ø³Ì¡£
¹Â¶ù½ø³Ì£ºÒ»¸ö¸¸½ø³ÌÍ˳ö£¬¶øËüµÄÒ»¸ö»ò¶à¸ö×Ó½ø³Ì»¹ÔÚÔËÐУ¬ÄÇôÄÇЩ×Ó½ø³Ì½«³ÉΪ¹Â¶ù½ø³Ì¡£¹Â¶ù½ø³Ì½«±»init½ø³Ì(½ø³ÌºÅΪ1)ËùÊÕÑø£¬²¢ÓÉinit½ø³Ì¶ÔËüÃÇÍê³É״̬ÊÕ¼¯¹¤×÷¡£
ʾÀý:
½©Ê¬½ø³Ì£ºÒ»¸ö×Ó½ø³ÌÔÚÆä¸¸½ø³Ì»¹Ã»Óе÷ÓÃwait()»òwaitpid()µÄÇé¿öÏÂÍ˳ö¡£Õâ¸ö×Ó½ø³Ì¾ÍÊǽ©Ê¬½ø³Ì¡£
¹Â¶ù½ø³Ì£ºÒ»¸ö¸¸½ø³ÌÍ˳ö£¬¶øËüµÄÒ»¸ö»ò¶à¸ö×Ó½ø³Ì»¹ÔÚÔËÐУ¬ÄÇôÄÇЩ×Ó½ø³Ì½«³ÉΪ¹Â¶ù½ø³Ì¡£¹Â¶ù½ø³Ì½«±»init½ø³Ì(½ø³ÌºÅΪ1)ËùÊÕÑø£¬²¢ÓÉinit½ø³Ì¶ÔËüÃÇÍê³É״̬ÊÕ¼¯¹¤×÷¡£
½©Ê¬½ø³Ì½«»áµ¼ÖÂ×ÊÔ´ÀË·Ñ£¬¶ø¹Â¶ùÔò²»»á¡£
×Ó½ø³Ì³ÖÐø10ÃëÖӵĽ©Ê¬×´Ì¬(EXIT_ZOMBIE)
------------------------------------------------------
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
pid_t pid;
pid = fork();
if(pid ......
1¡¢ÓÃÐéÄâ»ú¼Ówindows¿ª·¢linux³ÌÐò
2¡¢±à¼Æ÷ÓÃSourceInsight
3¡¢¹¹½¨¹²ÏíĿ¼£¬¹ÒÔØ¹²ÏíĿ¼
4¡¢windowsϹ²ÏíĿ¼ȨÏÞµÄÉèÖÃ
5¡¢ÓñàÒëÆ÷±àÒë³ö¿ÉÖ´ÐгÌÐò
linuxÏÂ ÍøÂç±à³Ì ±Ø±¸Í·Îļþ
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <netinet/in.h>
#include <unistd.h>
×¢ÒâÊÂÏGCC ±àÒëÊä³öÊDz»Òª¼Ó -c ²»È»Ö»ÊÇÊä³öÄ¿±êÎļþ£¬ÔÚÕâ¸öÎÊÌâÉÏÀ§»óÁ˺þÃ
Ã÷ÌìѧϰÔõôÓÃGDB ......
INTRO
¾¡¹ÜLinuxµÄ¸ùÎļþϵͳÔÚÐÎʽ±íÏÖÉÏÊÇÒ»ÌåµÄ£¨ËùÓÐÊý¾ÝĿ¼¾ùΪ¸ùĿ¼ÏµÄ×ÓĿ¼£©£¬µ«Êµ¼ÊËüÃÇÊǶà¸ö²»Í¬µÄ¡¾Âß¼Ö÷Ìå¡¿£¨ÎªÁËʵÏÖ²»Í¬µÄÂß¼¹¦ÄÜ£©×éºÏÔÚÒ»ÆðµÄ£¬²Î¼ûÏÂͼ¡£ÕâÒ²½âÊÍÁËΪʲôÓÐЩ½Úµã£¨Èç/var£©¿ÉÒÔ¹Ò½Óµ½²»Í¬´ÅÅÌ·ÖÇøÉÏ¡£»®·ÖÕâЩÂß¼²¿·Ö¶ÔÇåÎú°ÑÎÕ¸ùÎļþϵͳ½á¹¹£¬ÒÔ¼°Õû¸öϵͳµÄÐÐΪ¶¼ÓкܴóµÄºÃ´¦¡£ÔÚ»®·Ö֮ǰ£¬ÏÈ¿´¿´“Îļþϵͳ½á¹¹±ê×¼”¡£
Îļþϵͳ½á¹¹±ê×¼
Îļþϵͳ½á¹¹±ê×¼ £¨Filesystem Hierarchy Standard £¬Ï³ÆFHS£©¶¨Á¢µÄÄ¿±êÖ®Ò»ÊÇ£¬³ÌÐò¿É°´ÓÃ;ÐÔÖʱ»°²×°µ½Ö¸¶¨µÄλÖã¬Óû§Ò²ÄÜÔ¤Öª³ÌÐòµÄ°²×°µÄÎļþºÍĿ¼µÄλÖá£FHSͨ¹ý¶¨ÒåÎļþϵͳ¸÷²¿·ÖµÄºÒå¡¢ÓÃ;£¬ÔÙ¼ÓÉÏÁоÙËùÓеÄÌØÊâÇé¿ö£¬ÈçÀúÊ·ÒÅÁôÎÊÌ⣬´ïµ½ÁËÕâ¸öÄ¿±ê¡£
LINUXϵͳµÄÊý¾ÝÎļþ¿ÉÒÔ¸ù¾Ý¡¾Ë«Öرê×¼¡¿À´¶ÔËüÃÇ·ÖÀࣺ¹²ÏíµÄÓë¶ÀÏíµÄ£¨shareable vs. unshareable£©¡¢±ä»¯µÄºÍ¾²Ì¬µÄ£¨variable vs. static£©¡£Èç¹ûÊý¾ÝÎļþÎÞ·¨°´ÕÕË«ÖØ±ê×¼·ÖÀ࣬ËüÃDZØÐëÁíÆðĿ¼´æ·Å£¬ÕâÑù×öµÄÔÒòÊÇ¿ÉÒ԰Ѳ»Í¬¡¾Ê¹ÓÃÐÔÖÊ¡¿£¨usage characteristics£©µÄÊý¾ÝÎļþ·Ö¿ª²»Í¬Îļþϵͳ£¨´ÅÅÌ·ÖÇø£©´æ·Å¡£
“¹²ÏíµÄ” £¨Shareable£©ÊÇÖ¸Êý¾ÝÓëÆ½Ì¨²»Ïà¹ØµÄ£¬Èç/u ......
LinuxÏÂJDKµÄ°²×°²½Ö裺
µÚÒ»²¿£º¸ÄȨÏÞ
[root@wxr java]# pwd
/usr/java
[root@wxr java]# chomd 755 jdk-6u19-linux-i586.bin
Ê×Ïȸü¸Ä²Ù×÷ȨÏÞ£¬¼ÓÈëдÈëºÍÖ´ÐеÄȨÏÞ¡£
µÚ¶þ²¿£º°²×°
Ö´ÐÐÕâ¸öjdk-6u19-linux-i586.bin¶þ½øÖÆ¿ÉÖ´ÐгÌÐò£¬ÊµÏÖ°²×°£º
[root@wxr java]# ./jdk-6u19-linux-i586.bin
°²×°¹ý³ÌÌáʾÈçÏ£º
Do you agree to the above license terms? [yes or no] °´yes¼üÈ·¶¨¡£
Ö®ºó»á³öÏÖÏÂÃæµÄ»Ã棺
Checksumming...
0
0
Extracting...
½áÊøÊ±Ìáʾ»Ã棺
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue.....
Done.
×°Íê¾Í»á¿´µ½/usr/java϶àÁËÒ»¸öĿ¼£ºjdk1.6.0_19
µÚÈý²¿£ºÉèÖû·¾³±äÁ¿
×ÜÌåÀ´Ëµ¾ÍÊÇÈÃÔËÐеÄJAVAÃüÁîÄÜÕÒµ½JAVAµÄĿ¼·¾¶,ÖªµÀËü°²×°µ½ÄÄÁË¡£
ͨ³£¶¼Ï²»¶ÓÃexportÃüÁîÖ±½ÓÔÚshellÏÂÉèÖãº
[root@wxr java]# export JAVA_HOME=/usr/java/j2sdk1.4.2_06
[root@wxr java]# export CLASSPATH=.:$JAVA_HOM ......
LINUXÏÂÀú±éĿ¼µÄ·½·¨Ò»°ãÊÇÕâÑùµÄ
´ò¿ªÄ¿Â¼-¡·¶ÁÈ¡-¡·¹Ø±ÕĿ¼
Ïà¹Øº¯ÊýÊÇ
opendir -> readdir -> closedir
#include <dirent.h>
DIR *opendir(const char *dirname);
#include <dirent.h>
struct dirent *readdir(DIR *dirp);
#include <dirent.h>
int closedir(DIR *dirp);
ºÃÁË£¬Èý¸öº¯Êý¶¼³öÀ´Á˺Ǻǣ¬ÔÐ;ÍÊÇÉÏÃæ£¬¸ø×Ô¼º½âÊÍÒ»ÏÂÃâµÃÒÔºóÎÒ×Ô¼ºÍüÁ˺Ǻǣ¡ÎÒÒÔ¾Íü¹ýºÃ¼¸»ØÁË£¬ËùÒÔÕâ´Î·ÅÉϲ©¿ÍÀ´
opendirÓÃÓÚ´ò¿ªÄ¿Â¼£¬ÊÇÀàËÆÓÚÁ÷µÄÄÇÖÖ·½Ê½£¬·µ»ØÒ»¸öÖ¸ÏòDIR½á¹¹ÌåµÄÖ¸ÕëËûµÄ²ÎÊý*dirnameÊÇÒ»¸ö×Ö·ûÊý×é»òÕß×Ö·û´®³£Á¿,
readdirº¯ÊýÓÃÓÚ¶ÁȡĿ¼£¬ËûÖ»ÓÐÒ»¸ö²ÎÊý£¬Õâ¸ö²ÎÊýÖ÷opendir·µ»ØµÄ½á¹¹ÌåÖ¸Õ룬»òÕ߽оä±ú¸üÈÝÒ×Àí½âЩ°É¡£Õâ¸öº¯ÊýÒ²·µ»ØÒ»¸ö½á¹¹ÌåÖ¸Õë dirent *
direntµÄ½á¹¹Èç϶¨Òå
struct dirent
{
......
1¡¢×ܽᱳ¾°
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾°¸Àý»ùÓÚRedHat AS4½²½â»·¾³±äÁ¿¶¨ÖƵÄÎÊÌâ¡£
2¡¢±äÁ¿¼ò½é
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³±äÁ¿¡£
3¡¢¶¨ÖÆ»·¾³±äÁ¿
»·¾³±äÁ¿ÊǺÍShell½ôÃÜÏà¹ØµÄ£¬Óû§µÇ¼ϵͳºó¾ÍÆô¶¯ÁËÒ»¸öShell¡£¶ÔÓÚLinuxÀ´ËµÒ»°ãÊÇbash£¬µ«Ò²¿ÉÒÔÖØÐÂÉ趨»òÇл»µ½ÆäËüµÄShell£¨Ê¹ÓÃchshÃüÁ¡£
¸ù¾Ý·¢Ðа汾µÄÇé¿ö£¬bashÓÐÁ½¸ö»ù±¾µÄϵͳ¼¶ÅäÖÃÎļþ£º/etc/bashrcºÍ/etc/profile¡£ÕâЩÅäÖÃÎļþ°üº¬Á½×鲻ͬµÄ±äÁ¿£ºshell±äÁ¿ºÍ»·¾³±äÁ¿¡£Ç°ÕßÖ»ÊÇÔÚÌØ¶¨µÄshellÖй̶¨£¨Èçbash£©£¬ºóÕßÔÚ²»Í¬shellÖй̶¨¡£ºÜÃ÷ÏÔ£¬shell±äÁ¿ÊǾֲ¿µÄ£¬¶ø»·¾³±äÁ¿ÊÇÈ«¾ÖµÄ¡£»·¾³±äÁ¿ÊÇͨ¹ýShellÃüÁîÀ´ÉèÖõģ¬ÉèÖúõĻ ......