AIX 進程管理

來源:互聯網
上載者:User

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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.