linuxÄں˶ÁÊé±Ê¼Ç£¨½ø³ÌÖÕÖ¹º¯Êý·ÖÎö£©Èý
	
    
    
	do_exit() Function
-----------------------------------------------------------------------
kernel/exit.c
707  NORET_TYPE void do_exit(long code)
708  {
709   struct task_struct *tsk = current;
710
711   if (unlikely(in_interrupt()))
712    panic("Aiee, killing interrupt handler!");
713   if (unlikely(!tsk->pid))
714    panic("Attempted to kill the idle task!");
715   if (unlikely(tsk->pid == 1))
716    panic("Attempted to kill init!");
717   if (tsk->io_context)
718    exit_io_context();
719   tsk->flags |= PF_EXITING;
720   del_timer_sync(&tsk->real_timer);
721
722   if (unlikely(in_atomic()))
723    printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n",
724       current->comm, current->pid,
725       preempt_count());
-----------------------------------------------------------------------
Line 707²ÎÊýcodeÊǽø³Ç·µ»Ø¸ø¸¸½ø³ÌµÄÍ˳öÂë Lines 711716 È·±£Ä¿Ç°½ø³Ì²»ÊÇÒ»¸öÖжϴ¦Àí½ø³Ì£¬È·±£²»ÊÇidle½ø³Ì£¨PID=0£©»òÕßÊÇinit½ø³Ì£¨PID=1£©£¬init½ø³ÌÖ»ÓÐϵͳ±»ÖÕֹʱ²ÅÄÜÍ˳ö£» Line 719 ½«¸Ã½ø³ÌµÄflagsÓòÉèÖÃΪPF_EXITING£¬Õâ±íÃ÷µ±Ç°½ø³Ì±»ÖÕÖ¹£» -----------------------------------------------------------------------
kernel/exit.c
...
727   profile_exit_task(tsk);
728
729   if (unlikely(current->ptrace & PT_TRACE_EXIT)) {
730    current->ptrace_message = code;
731    ptrace_notify((PTRACE_EVENT_EXIT << 8) | SIGTRAP);
732   }
733
734   acct_process(code);
735   __exit_mm(tsk);
736
737   exit_sem(tsk);
738   __exit_files(tsk);
739   __exit_fs(tsk);
740   exit_namespace(tsk);
741   exit_thread();
...
-----------------------------------------------------------------------
Lines 729732 Èç¹û½ø³Ì±»ptraced¶øÇÒPT_TRACE_EXIT ±»ÉèÖã¬ÎÒÃǽ«exit_code×÷ΪÏûϢ֪ͨ¸¸½ø³Ì Lines 735742 ½«½ø³ÌÖв»ÓõÄ×ÊÔ´clean upµô£¬__exit_mm()ÓÃÓÚÊÍ·Å·ÖÅ䏸½ø³ÌµÄÄڴ棬ºÍÊͷźʹ˽ø³ÌÏà¹ØµÄmm_struct£¬exit_sem()½«´ËÈÎÎñ´ÓIPCÖзÖÀ룬__exit_files() ÊÍ·Å·ÖÅ䏸ÈÎÎñµÄÎļþ£¬²¢ÇÒ½«Æä±êʶ·û¼õÈ¥£¬_
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
    無論ÊÇÔÚLinux還ÊÇÔÚUnix環¾³ÖУ¬make¶¼ÊÇÒ»個·Ç³£ÖØÒªµÄ編譯Ö¸Áî¡£
²»¹ÜÊÇ×Ô¼º進ÐÐ項Ä¿開發還Êǰ²裝應ÓÃ軟體£¬ÎÒ們¶¼經³£ÒªÓõ½make»òmake install¡£ÀûÓÃmake¹¤¾ß£¬ÎÒ們¿ÉÒÔ將´óÐ͵Ä開& ......
	
    
        
    
    ²¢·¢Ó뾺̬ 
½â¾ö¾ºÌ¬ÎÊÌâµÄ;¾¶ÊDZ£Ö¤¶Ô¹²Ïí×ÊÔ´µÄ»¥³â·ÃÎÊ¡£ 
·ÃÎʹ²Ïí×ÊÔ´µÄ´úÂëÇøÓò³ÆÎªÁÙ½çÇø£¬ÁÙ½çÇøÐèÒªÒÔijÖÖ»¥³â»úÖÆ¼ÓÒÔ±£»¤¡£ÖÐ¶ÏÆÁ±Î¡¢Ô×Ó²Ù×÷¡¢×ÔÐýËøºÍÐźÅÁ¿µÈÊÇLinuxÉ豸Çý¶¯ÖпɲÉÓõĻ¥³â;¾¶¡£ 
ÖÐ¶ÏÆÁ±Î 
ÖÐ¶ÏÆÁ±Î½«Ê¹µÃÖжÏÓë½ø³ÌÖ®¼äµÄ²¢·¢²»ÔÙ·¢Éú£¬¶øÇÒ£¬ÓÉÓÚLinuxÄں˵Ľø³Ìµ÷¶ÈµÈ²Ù×÷¶¼ÒÀÀµ ......
	
    
        
    
    example:
zip -q -r html.zip html
²ÎÊý˵Ã÷£º
Óï¡¡¡¡·¨£ºzip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <¹¤×÷Ŀ¼>][-ll][-n <×Öβ×Ö·û´®>][-t <ÈÕÆÚʱ¼ä>][-<ѹËõЧÂÊ>][ѹËõÎļþ][Îļþ...][-i <·¶±¾Ñùʽ>][-x <·¶±¾Ñùʽ>] 
²¹³ä˵Ã÷£ºzipÊǸöʹÓù㷺µÄѹËõ³ÌÐò£¬Îļþ¾ËüѹËõºó»áÁíÍ ......
	
    
        
    
    LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ 
  
  
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......