Linux 进程的控制

WechatIMG1729.jpeg

准备工作

  • 创建 test.sh,内容如下
$ vim test.sh
#!/bin/bash
# 输出当前进程号
echo $$ 
# 死循环
while :
do
    :
done
  • 赋予执行权限
$ chmod u+x test.sh
$ ./test.sh
10956
  • top 查看该进程信息
$ 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运行的进程号,NI下方就是该进程的优先级,数字越低,优先级越高,默认是0,S表示状态,R是运行中,T是已停止。

调整优先级

  • 进程执行前调整

把刚才运行的进程号为10956的进程停掉,使用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。

  • 进程运行中调整
$ renice-n 15 27748
27748 (进程 ID) 旧优先级为 10,新优先级为 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的值调整为15。

进程的控制

  • 执行一个在后台运行中的进程
$./test.sh & 
29340
  • 执行一个在后台已停止的进程
$./test.sh
29386

执行后,按快捷键ctrl+z,该进程会停止在后台。

  • 查看运行中已停止的进程
$ jobs[1]-  运行中               nice -n 10 ./test.sh &
[2]+  已停止               nice -n 10 ./test.sh

如上返回的[1][2]表示进程1和进程2.

  • 将进程1改为前台运行
$ fg 1
nice -n 10 ./test.sh
  • 将进程2改为后台运行
$ bg 2
[2]- nice -n 10 ./test.sh &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值