歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> AIX的進程管理

AIX的進程管理

日期:2017/3/3 15:20:39   编辑:Unix基礎知識

1、進程的含義

在 AIX 中所謂進程就是一個任務,一個正在運行的程序就是一個進程。

2、子進程與父進程

進程與進程可以存在依賴關系,一個進程可以產生新的進程,被產生出來的進程叫做子進程,而原來的進程叫做父進程。

3、查看進程

ps:進程查看命令

在 ps 命令中可以查看到有關進程的 UID(用戶 ID)、PID(進程的 ID)、PPID(父進程 ID)、C(cpu 利用率)、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(出錯管理)等等。

查看本欄目更多精彩內容:http://www.bianceng.cn/OS/unix/

10、顯示/修改進程屬性

進程的屬性主要包括進程的 ID 號、父進程的 ID 號、運行時間、執行的程序名和優先級等。

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 連接,這是操作系統為了保持與先前的版本兼容。

作者信息:51cto博客 Oracle小混子

Copyright © Linux教程網 All Rights Reserved