
WechatIMG1729.jpeg
準(zhǔn)備工作
- 創(chuàng)建 test.sh,內(nèi)容如下
$ vim test.sh
#!/bin/bash
# 輸出當(dāng)前進(jìn)程號(hào)
echo $$
# 死循環(huán)
while :
do
:
done
- 賦予執(zhí)行權(quán)限
$ chmod u+x test.sh
$ ./test.sh
10956
- top 查看該進(jìn)程信息
$ top -p 10956 | grep -e test.sh -e NI
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10956 root 20 0 113284 1204 1020 R 99.0 0.1 0:29.04 test.sh
10956是test.sh運(yùn)行的進(jìn)程號(hào),NI下方就是該進(jìn)程的優(yōu)先級(jí),數(shù)字越低,優(yōu)先級(jí)越高,默認(rèn)是0,S表示狀態(tài),R是運(yùn)行中,T是已停止。
調(diào)整優(yōu)先級(jí)
- 進(jìn)程執(zhí)行前調(diào)整
把剛才運(yùn)行的進(jìn)程號(hào)為
10956的進(jìn)程停掉,使用kill -9 10956
$ nice -n 10 ./test.sh
27748
$ top -p 27748 | grep -e test.sh -e NI
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27748 root 30 10 113284 1200 1020 R 99.9 0.1 4:36.16 test.sh
如上返回所示,
NI的值為10。
- 進(jìn)程運(yùn)行中調(diào)整
$ renice -n 15 27748
27748 (進(jìn)程 ID) 舊優(yōu)先級(jí)為 10,新優(yōu)先級(jí)為 15
$ top -p 27748 | grep -e test.sh -e NI
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27748 root 35 15 113284 1200 1020 R 99.3 0.1 9:10.01 test.sh
如上返回所示,
NI的值調(diào)整為15。
進(jìn)程的控制
- 執(zhí)行一個(gè)在后臺(tái)運(yùn)行中的進(jìn)程
$ ./test.sh &
29340
- 執(zhí)行一個(gè)在后臺(tái)已停止的進(jìn)程
$ ./test.sh
29386
執(zhí)行后,按快捷鍵
ctrl+z,該進(jìn)程會(huì)停止在后臺(tái)。
- 查看
運(yùn)行中或已停止的進(jìn)程
$ jobs
[1]- 運(yùn)行中 nice -n 10 ./test.sh &
[2]+ 已停止 nice -n 10 ./test.sh
如上返回的
[1]和[2]表示進(jìn)程1和進(jìn)程2.
- 將進(jìn)程1改為前臺(tái)運(yùn)行
$ fg 1
nice -n 10 ./test.sh
- 將進(jìn)程2改為后臺(tái)運(yùn)行
$ bg 2
[2]- nice -n 10 ./test.sh &