美文网首页
Linux 进程的控制

Linux 进程的控制

作者: Yohann丶blog | 来源:发表于2022-08-19 09:49 被阅读0次
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 &

相关文章

  • 进程控制块PCB

    进程控制块 每一个进程内核中都有一个进程控制块(PCB)来维护进程相关的信息,linux内核的进程控制块时 tas...

  • Linux 进程的控制

    准备工作 创建 test.sh,内容如下 赋予执行权限 top 查看该进程信息 10956是test.sh运行的进...

  • 5.进程控制

    进程控制 这一节主要介绍Unix系统的进程控制,包括创建新进程、执行进程和进程终止。由于前面Linux学习部分有了...

  • linux进程

    linux进程包含如下几个方面:1:进程的控制(创建,等待子进程终止,执行程序,退出)2:守护进程(什么是守护进程...

  • Linux 多进程 命名管道

    [Linux]Linux Shell多进程并发以及并发数控制[https://blog.csdn.net/yewe...

  • Linux 进程控制

    相关概念 程序: 编译好的二进制文件, 存放在磁盘上(占用的是物理内存空间), 不占用系统资源(CPU, 内存, ...

  • Linux下多进程编程API

    进程是Linux操作系统环境的基础,它控制着系统几乎所有的活动,下面介绍Linux下多进程的系统调用API。 fo...

  • Linux前台进程与后台进程的区别

    (1).Linux前台进程与后台进程的区别 前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个...

  • Python进程管理神器——Supervisor

    一、简介 Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程...

  • linux内核进程控制

    进程 进程由可执行的指令代码、数据和堆栈区组成,在linux中,除了第一个进程是“手工”建立以外,其余都是进程使用...

网友评论

      本文标题:Linux 进程的控制

      本文链接:https://www.haomeiwen.com/subject/ipaygrtx.html