Linux 進(jìn)程的控制

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

10956test.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 &
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容