进程管理

发布时间 2023-11-28 15:36:16作者: yyx1234

1.初始进程

进程是已启动的可执行程序的运行实例,进程有以下组成部分:

  • 已分配内存的地址空间;
  • 安全属性,包括所有权凭据和特权;
  • 程序代码的一个或多个执行线程;
  • 进程状态

2.查看进程

2.1静态查看进程

  • ps aux:此命令查看当前目录的进程
    PID :进程ID。
    PPID :父进程的进程ID(Parent Process id) 。
    %CPU:进程占CPU的百分比。
    %MEM :该进程所占用的物理内存百分比
    VSZ :进程使用掉的虚拟内存量 (Kbytes)(Virtual Size) 。
    RSS :进程占用的固定的内存量 (Kbytes)。
    TTY :与进程关联的终端(tty)。进程是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    STAT:程序目前的状态,主要的状态有:
    D :不可中断
    R :运行
    S :中断
    T :停止
    Z :僵死
    START:进程被触发启动的时间。
    TIME :进程实际使用 CPU 运作的时间。
    COMMAND:进程的运启动的实际指令。
  • ps aux --sort -%cpu:此命令按照CPU占用百分比的降序排列
    一般情况下为了快速查找需要显示的内容使用
  • ps axo pid,%cpu,user,xxx:此命令可以显示需要查看的进程
    常用的查看指定进程PID的方法
  • cat /run/sshd.pid
  • pidof sshd
  • pgrep sshd

2.2动态查看进程

  • top:此命令可以实时动态的显示进程,系统默认更新时间为3s
第一行:任务队列信息

15:02:18 当前时间
up 1min 系统运行时间。1分钟。
2 user 当前登录用户数。
load average: 0.91, 0.34, 0.12 系统负载,即任务队列的平均长度。

第二行:进程数信息

213 total 进程总数
2 running 正在运行的进程数
211 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数

第三行:CPU状态
第四行:内存状态
第五行:swap交换状态
第六行:空行
第七行以下:各进程的状态监控
  • 按M键以内存占用率排序
  • 按P键以CPU占用率排序
  • 按N键以PID数值大小排序
  • 按R键对顺序进行反转,按F键显示自定义显示字段,按上下键移动,按空格键选中,按q键退出自定义显示字段,按w键保存自定义显示字段
  • 按1键显示所有cpu负载

2.3top命令参数

  • b:以批量模式运行,但不能接受命令行输入;
  • c:显示命令行,而不仅仅是命令名;
  • d:显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;
  • i:不显示空闲进程和僵尸进程;
  • n:更新的次数,完成后退出top。比如 -n 5,表示top更新5次数据就退出;
  • p:参数为PID,仅监视指定进程的ID;PID是一个数值;
  • q:不经任何延时就刷新;
  • s:安全模式运行,禁用一些效互指令;
  • S:累积模式,输出每个进程的总的CPU时间,包括已死的子进程;

例:设置top命令10秒刷新一次。
命令:top -d 10

例:显示程序及其完整相关信息
命令:top -c

例:设定监控信息的更新次数。如设定系统任务信息更新5次后结束top命令,在命令行提示符下输入:
命令:top -n 5

3.信号克制进程

3.1kill命令

命令参数:

  • -l :信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称。
  • -a :当处理当前进程时,不限制命令名和进程号的对应关系。
  • -p :指定kill 命令只打印相关进程的进程号,而不发送任何信号。
  • -s :指定发送信号。
  • -u :指定用户。
    常见信号:
信号编号 名称 特性及意义
1 SIGHUP 启动被终止的进程,重新加载,PID不会变
9 SIGKILL 强制终止进程,使用此信号可能导致进程无法再次启动
15 SIGTERM 默认信号,以正常流程终止进程,允许进程释放资源。若进程已经出现问题,无响应,此信号将不起作用
18 SIGCONT 恢复进程
19 SIGSTOP 暂停进程

3.2killall命令

可以用于终止某个指定名称的服务所对应的全部进程