歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> SCO Unix

SCO UNIX監視進程管理


程序是一個可執行文件(Process)是正在運行程序一個實例。 SCO UNIX System V支持許多進程同時運行,各種系統通過調 用可用進程去創建新進程,與其他進程通訊,以及終止其他進程。
  進程族系
  新進程創建時,內核會分配一個進程標識號(PID)給它,並對進程表中添加說明訊息。
  由一個進程創建另一新進程,老進程為父進程,新進程為子進程。 用戶Shell執行的大多數指令又是它的子進程,子進程則運行指令。 而父進程允許有多個子進程來實現任務等,待子進程完成。一個 父進程可以有多個子進程,但是,一個子進程只有一個父進程。
  前台及後台進程
  在Shell提示處打入指令後,創建一子進程運行命令,Shell等待命令退出,然回到對用戶提出提示符,這道指令與Shell同步運行, 即在前台運行。
  在Shell提示 處打入的指令,若隨一個&,Shell創建的子進程運行此指令,但不等待指令退出,而直接返回到對用戶提出提示。這道指令與Shell同步運行,即在台運行。例如:
  $ tar cvf test /usr/imsnow&
  精靈進程
  精靈進程是一個進程,它與終端和用戶都無聯系,也有人喜歡稱他為管家婆。精靈完成一些周期性的事,平時它睡眠。用ps 指令可看到精靈,它在tty區域中帶有問號(?)。
  -Sched:PID 0,它完成進程的程序在存儲局和盤交換局之間交換工作。
   -init:PID 1,系統自動建的第一用戶進程,它負責初始化引 導和注冊過程,也就是所有非系統進程的祖先。它會在終端口上, 啟動getty 進程。
   -vhand:PID 2,頁面精靈,它頻繁地把儲頁面內容送往交換區。
   -bdfush:PID 3,定期刷新高速緩到盤(默認情況,每13秒刷 新一次)
   -logger:歸檔系統出錯訊息。
   -cron:在調度時運行作業。
   -Ipsched:脫機打印精靈。
  孩兒進程
  孤兒進程在父進程終止仍舊活動,由init 認它為乾兒子。 僵□進程則是進程已終止,但進程還未撤消,因為父進程並未「 等待」它,進程表仍保留著這僵體,進程表的實體是僵體進程所消耗的資源。
  隨著新進程的創建,出現大量僵體,但總數是有限制的,因此影 響新進程的產生。而孩兒進程與僵體進程不同,並不會影響系統 效率。
  通常,在父進程死去時,才會移去僵體進程。若他們還未移去, 應由init 繼承並移去它。
  監視進程
  監視進程監注冊戶的數量,用以記系統的性能;亦會監視用戶進 程,包括掛起進程;以及裝載均值等系統性能問題。
  要顯示進程信息,可以利ps 指令報告,進程狀態。在默認 情況下,僅會報告與當前終端有聯系的有關訊息。若用戶沒有root權 限,ps僅限以說明運行進程,報告用戶的進程訊息。若用戶有root權 限,則會報告在所有終端上所有用戶的進程訊息,例如:
  $ ps -u joana
  -u 〈username〉選項顯示指定用戶的訊息。
   -t 〈ttynamt〉選項顯示指定終端有關的進程訊息。
  而ps -elf指令則提供了需有F、S、C、PRI、NI、TIME字段的 使用訊息。
  F是標記,指示進程位置,20表示在內存,0表示交換在盤上, 31是系統進程。
   S是狀態訊息,指示進程狀態,睡眠還是正在運行。
   C是進程占有CPU的百分率
   TIME是花費CPU的總時間。
   PRI是進程當前優先數
   NI是進程的nice (ADM)菜單
  如何創建進程
  當進程分岔一個子進程,自己就會進入睡眠狀態。開始時,子進 程運行父進程的同一程序,由內核分配一個新的PID。當子進程 再去執行新的程序,保持新分配的PDI,新程序就會替代子進程 的原先程序。
  當子進程完成後,內核會把它從系統中移去,再喚醒父進程,子進程就會退出。
  監視系統裝載
  uptime 指令顯示裝載均值(一分鐘、五分鐘和十五分鐘), 即在預定時間上,排隊運行進程的平均數:$uptime
   w 指令產生如uptime一樣的裝載均值訊息,並顯示誰在 系統上做甚麽,若用戶擁有root權限,W報告所有用戶的有關訊 息。 若沒有,僅顯示與用戶進程有關竹的訊息。
   PCPU(Process CPU,進程CPU時間 )顯示某道特定指令已運行多久了。對控制不了的進程,這種檢查是很有用的。
   JCPU( Joint CPU,連合CPI時間),顯示一個終端所涉的所有進程的 總時間。
   sar (ADM)指令是一個系統活動報告程序,顯示系統資源累積 利用率。為指示系統瓶頸(Bottleneck),sar 是非常好的實 用程序,指令語法如下:
    $sar〔參數〕 〔 PID號〕 例如:
     $sar-u 20
    -u選項顯示CPU利用情況。如果%idle一致地低,使用效能是上升, 不過,運行的進程偷不到未用的CPU周期。
    又例如使用-q選項顯示進程吞吐量。假若%swpocc大於20,就發生 交換(Swapping),可以使用大內存能減少交換 /請負活動
Copyright © Linux教程網 All Rights Reserved