1、進程的含義
在 AIX 中所謂進程就是一個任務,一個正在啟動並執行程式就是一個進程。
2、子進程與父進程
進程與進程可以存在依賴關係,一個進程可以產生新的進程,被產生出來的進程叫做子進程,而原來的進程叫做父進程。
3、查看進程
ps:進程查看命令
在 ps 命令中可以查看到有關進程的 UID使用者識別碼)、PID進程的 ID)、PPID父進程 ID)、Ccpu 利用率)、STIME開始的時間)、TTY控制台)、TIME啟動並執行時間)、CMD命令)等等。
$ ps -f
UID PID PPID C STIME TTYTIME CMD
Xumin 15044 26436 0 17:17:15 pts/1 0:00-ksh
Xumin 27412 15044 6 17:18:04 pts/1 0:00ps -f
4、前台進程與後台進程
1)前台進程
前台進程運行時,使用者必須等待當前進程結束,才能運行下一個進程。
前台進程的運行方式:
$ command
2)後台進程
後台進程運行時,使用者不必等待當前後台進程的結束,即可以運行下一個進程。
後台進程的運行方式:
$ command &
5、提高進程優先等級
1)nice:可增加 nice 的值,降低進程的優先順序別。
$ nice [-lncrement | -n lncrement]
2)renice:可再增加 nice 的值,以再降低進程的優先順序別。
6、終止進程
1)前台進程
ctrl-c:終止當前的前台進程
kill:終止指定的前台進程
2)後台進程
kill:終止指定的後台進程
3)kill 的用法
$ kill [ -Signalnumber | -Signalname ] Processes
常用:
$ kill ProcessesID
$ kill -9 ProcessesID
ProcessesID 為進程號,可以用 ps命令擷取
7、運行長進程
nohup:使使用者的後台進程在使用者退出系統時仍然運行,如果無指定 nohup 的輸出資訊會將儲存在 nohup.out 中
$ nohup command &
$ nohup ls -R / &
8、shell 環境下進程的控制
<ctrl-z> :暫停前台進程
jobs:顯示後台進程及被暫停進程
fg:繼續被暫停進程
bg :繼續被暫停進程並將其放在後台運行
在 bg 、fg、kill 中指定一個進程,要使用%jobnumber,jobnumber 可以用jobs 來擷取
9、後台駐留程式 deamons
deamon 是一種永不停止的進程,通常用來管理和控制系統資源,如 qdeamon列印管理)、cron定時運行指定程式)、errdeamon出錯管理)等等。
10、顯示/修改進程屬性
進程的屬性主要包括進程的 識別碼、父進程的 識別碼、已耗用時間、執行的程式名和優先順序等。
11、顯示進程屬性
要顯示進程的屬性可以使用 ps 命令,AIX支援所有 AT&T 和 BSD風格 ps 命令。
要使用 BSD 風格,只是簡單地把命令選項的減號去掉,例如:
# ps alx
上面命令的 AT&T 版本是:
# ps -elf
在 ps 命令輸出中,PRI 和 NI 值表示進程的優先順序。nice 是計算 priorities 值的一部分, priorities 值的範圍是 0~ 127。值越低,進程越經常被安排執行,值越高意味著優先順序越低。
12、修改進程優先順序
要改變進程的優先順序,可以使用 nice 命令。nice 命令後面可以跟 0~ 39 ,同樣也是值越高意味著優先順序越低。 nice 命令句法有兩種形式: nice –Increment增量)和 nice -n Increment增量)。當必須使用負值時,可以用後者。如果不指定一個值,nice 預設為增長 10。下列命令為一個命令增加 10 的優先順序。
# nice -10 CommandName命令名)
下列命令為一個命令減少 10 的優先順序
# nice CommandName
renice 命令也提供-n 選項。renice 的句法為:
# renice Priority -p PID
如果沒有另外的選項被指定,那麼-p 可以不要。
13、停止進程
AIX 使用 kill 命令來停止進程。AIX 有兩種 kill 命令: /usr/bin/kill 和 shell 內建的命令 kill。這兩種命令可以使用的訊號量不同。訊號量用來通知進程執行相應的動作。例如: TERM 訊號是強制進程退出,而 HUP 是強制進程掛起。可以用 kill -l的顯示可用的訊號量。
# kill –l
AIX也有 killall 命令,任何使用者都能用來運行殺死除了發送的進程外所有進程。
句法是:
# killall –Signal
14、效能檢測
管理進程的目的是為了提高系統啟動並執行效能,因此首先我們要檢測目前系統運行效能,分析系統效能的瓶頸。AIX 支援 topas ,sar, vmstat 和 iostat 等標準的UNIX 命令。
topas
採用動態重新整理顯示系統效能資訊,包括:系統的頂級進程, 系統狀態 負擔的平均值 ),使用和釋放的儲存空間數量,以及在系統上啟用的單個的進程狀態。與 ps命令相比, ps 命令僅給出系統某一時刻的“快照”,而 topas 是按一定的時間間隔顯示系統資訊和它們的變化。
sar
顯示累積的系統活動資訊, 包括 CPU 利用率,緩衝區活動, 資料從裝置讀出和讀入, 終端活動,正在使用的特定系統調用數目, 交換數量, 隊列長度,還有另外的核心資訊。
vmstat
量化地顯示系統進程所使用的虛存數量;也顯示陷阱和 CPU 活動資訊。
iostat
統計硬碟,終端,處理器的 I/O 情況。
15、進程的定時啟動
可以使用cron守候進程來定時啟動進程,該進程使用的crontab檔案 在/var/spool/cron/crontabs 目錄中,以使用者名稱為檔案名稱,比如 root 使用者的 crontab 檔案就為 root。AIX支援 AT&T 風格 crontab 檔案,每條包含下列格式:
分鐘 0到 59 )
小時 0到 23 )
月的日子 1到 31 )
一年 1 到 12 )
星期的日子 0到 6,整個星期六到星期天)
shell 命令
AIX也可以直接調用 crontab 命令。crontab 命令有-e 選項,該選項將裝載 crontab的內容到編輯環境。使用何種編輯器取決於 EDITOR 變數值。一旦從編輯環境儲存並且退出,將改變新 crontab 檔案並且很快地生效。
正常情況下,crontab spool 目錄定義在/var/spool/cron。另外 AIX 有一個從/usr/spool到/var/spool 串連,這是作業系統為了保持與先前的版本相容。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html