一塊兒學shell之(九-1)拼寫檢查、進程

 

 #----------------------------------------------------------#ios

# ====> 紅色字體 -特指煮酒我的所見。加粗則爲須要重點注意。 #shell

# ====>  藍色加粗 -特指與本文相關人員,包括參與修正的朋友。 #
# ====> 煮酒品茶 -Http://cwtea.blog.51cto.com          #
#----------------------------------------------------------#

 

煮灑品茶:拼寫檢查spell、進程創建、列表、控制與刪除、系統調用的追蹤、延遲的進程調度(sleepatcrontab等)、/proc文件 bash

Spell程序 數據結構

:檢查文件裏是否有拼寫錯誤。這個程序會讀取命令行上指定的全部文件,在標準輸出上產生排序後的單詞列表,這個列表上的單詞不是在它的字典裏找不到,就是沒法從標準的英文文法應用派生出來。如("words"派生於"word") dom

COMM ssh

 

Ispell aspell socket

Ispell tcp

-l 在標準輸出打印拼錯的單詞列表。 ide

-p file file做爲正確單詞拼法的我的字典。相似spelll+起始的私有文件選項。 函數

Aspell

--mode 使aspelll忽略一些類型的標記,如SGMLTEX

--mode=none 表示不作任何過濾。

awk內的拼寫檢查程序(一部分函數)

進程(process):指的是執行中程序的一個實例(instance),新進程由fork()execve()等系統調用所起始,而後執行,直到它們下達exit()系統調用爲止。

注:unix支持多進程,每一個進程權允許在極短時間間執行,稱爲時間片斷。調度器(scheduler)的部分負責管理進程的執行,當出現多CPU時,調度器會試着使用全部CPU處理工做負載。進程會被指定優先權,在任何瞬間,等待執行之進程的平均數,稱平均負載(load average)

進程創建

注:一個命令shell所起始的每一個進程,都會如下列保證事項啓動:

進程具備一個內核文本(kernel context):在內核裏的數據結構,會記錄與進程相關的信息,讓內核便於管理與控制進程的執行。

進程擁有一個私用的(private)、被保護的(protected)虛擬地址空間,它可能就像機器可定址空間那麼大。

三個文件描述代碼(標準輸入、標準輸出、標準錯誤輸出)都已開啓,且當即可用。

起始於交談模式shell的進程,會擁有一個控制終端機(controlling terminal),其扮演三個標準文件數據流的默認來源處與目的地,控制終端機是讓用戶可將信號傳送給進程。

命令行參數裏的通配字符會被展開。

內存的一個環境變量區域會存在,包含具備健與值(key/value)指定的字符串,可經過程序庫調用取得。

進程列表:

System V

   
   
            
   
   
  1. [root@bogon ~]# ps 
  2.   PID TTY          TIME CMD 
  3.  2879 pts/1    00:00:00 bash 
  4.  2908 pts/1    00:00:00 ps 

System VPs -efl 

   
   
            
   
   
  1. [root@cwtea ~]# ps -efl 
  2. F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD 
  3. 4 S root         1     0  0  78   0 -  2587 -      03:34 ?        00:00:00 init [5 
  4. 1 S root         2     1  0 -40   - -     0 migrat 03:34 ?        00:00:00 [migra] 
  5. 1 S root         3     1  0  94  19 -     0 ksofti 03:34 ?        00:00:00 [ksoft] 

BSD式 ps aux

   
   
            
   
   
  1. [root@cwtea ~]# ps aux 
  2. USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND 
  3. root         1  0.4  0.1  10348   680 ?        Ss   03:34   0:00 init [5]         
  4. root         2  0.0  0.0      0     0 ?        S<   03:34   0:00 [migration/0] 
  5. root         3  0.0  0.0      0     0 ?        SN   03:34   0:00 [ksoftirqd/0] 
  6. root         4  0.0  0.0      0     0 ?        S<   03:34   0:00 [events/0] 

解釋說明:userUID爲進程擁有者,PID爲進程ID值,PPID爲父進程ID

 

嘗試了一下:

   
   
            
   
   
  1. [root@cwtea ~]# iostat 
  2. -bash: iostat: command not found 
  3. [root@cwtea ~]# netstat 
  4. Active Internet connections (w/o servers) 
  5. Proto Recv-Q Send-Q Local Address               Foreign Address             State       
  6. tcp        0    132 bogon:ssh                   bogon:64837                 ESTABLISHED  
  7. Active UNIX domain sockets (w/o servers) 
  8. Proto RefCnt Flags       Type       State         I-Node Path 
  9. unix  6      [ ]         DGRAM                    6981   /dev/log 
  10. unix  2      [ ]         DGRAM                    1576   @/org/kernel/udev/udevd 
  11. unix  2      [ ]         DGRAM                    7445    
  12. unix  3      [ ]         STREAM     CONNECTED     7410   /tmp/.X11-unix/X0 
  13. unix  3      [ ]         STREAM     CONNECTED     7409    
  14. unix  3      [ ]         STREAM     CONNECTED     7406   /tmp/.X11-unix/X0 
  15. unix  3      [ ]         STREAM     CONNECTED     7405    
  16. unix  3      [ ]         STREAM     CONNECTED     7386   /tmp/.X11-unix/X0 
  17. unix  3      [ ]         STREAM     CONNECTED     7379    
  18. unix  2      [ ]         DGRAM                    7375    
  19. unix  2      [ ]         DGRAM                    7073    
  20. unix  2      [ ]         DGRAM                    6989    
  21. [root@cwtea ~]# nfsstat 
  22. Warning: No Client Stats (/proc/net/rpc/nfs: No such file or directory). 
  23. [root@cwtea ~]# sar 
  24. -bash: sar: command not found 
  25. [root@cwtea ~]# uptime 
  26.  03:41:59 up 7 min,  1 user,  load average: 0.00, 0.15, 0.11 
  27. [root@cwtea ~]# vmstat 
  28. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
  29.  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
  30.  0  0      0 265612  20540 194884    0    0   536    34 1023   71  2  2 91  6  0 
  31. [root@cwtea ~]# w 
  32.  03:42:11 up 7 min,  1 user,  load average: 0.00, 0.15, 0.11 
  33. USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
  34. root     pts/0    192.168.100.80   03:36    0.00s  0.03s  0.00s w 
  35. [root@cwtea ~]# xcpustate 
  36. -bash: xcpustate: command not found 
  37. [root@cwtea ~]# procinfo 
  38. -bash: procinfo: command not found 

注:shell在處理下一個命令以前會等待一進程結束,不過只要在命令最後加入&字符,而非分號或換行符號,便能將進程放在後臺中執行:wait命令可用以等待某個特定進程完成,在不加任何參數的狀況下,則爲等待全部後臺進程的完成。Bgfgjobs、以及wait都爲處理於目前shell下所創建的執行中進程的shell命令。

注:4組鍵盤字符可用以中斷前臺進程,ctrl-c(intr:殺除)ctrl-y(dsusp:暫時擱置,直到輸入更新爲止)ctrl-zsusp:暫時擱置)、與ctrl-\(quit:以核心轉儲(core dump)方式殺除)

進程控制與刪除

Kill支持信號

   
   
            
   
   
  1. [root@cwtea ~]# kill -l 
  2.  1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL 
  3.  5) SIGTRAP  6) SIGABRT  7) SIGBUS   8) SIGFPE 
  4.  9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 
  5. 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 
  6. 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 
  7. 21) SIGTTIN 22) SIGTTOU 23) SIGURG  24) SIGXCPU 
  8. 25) SIGXFSZ 26) SIGVTALRM   27) SIGPROF 28) SIGWINCH 
  9. 29) SIGIO   30) SIGPWR  31) SIGSYS  34) SIGRTMIN 
  10. 35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4 
  11. 39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8 
  12. 43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 
  13. 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 
  14. 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 
  15. 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6 
  16. 59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2 
  17. 63) SIGRTMAX-1  64) SIGRTMAX 

下接:

一塊兒學shell之(九-2)拼寫檢查、進程

http://cwtea.blog.51cto.com/4500217/879971

相關文章
相關標籤/搜索