Linux系统配置及服务管理_第04章_进程管理

一.进程简介

进程是已启动的可执行程序的运行实例,包括以分配内存空间,安全属性有权凭证和特权,进程状态。

程序和进程的区别:

程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd
进程: 是程序运行的过程, 动态,有生命周期及运行状态。
在这里插入图片描述

进程生命周期

在这里插入图片描述
父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。
每个新进程分配一个,唯一的进程 ID (PID),满足跟踪安全性之需。
任何进程都可以创建子进程。
所有进程都是第一个系统进程的后代:
Centos5/6系统进程: init
Centos7系统进程: systemd

  • 进程状态
  • R:可执行状态
    操作系统教科书将正在CPU上执行的进程定义为RUNNING状态、而将可执行但是尚未被调度执行的进程定义为READY状态,这两种状态在linux下统一为 TASK_RUNNING状态。
  • T:暂停状态或跟踪状态
    向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态(除非该进程本身处于TASK_UNINTERRUPTIBLE状态而不响应信号)。
    SIGSTOP与SIGKILL信号一样,是非常强制的。不允许用户进程通过signal系列的系统调用重新设置对应的信号处理函数。
    向进程发送一个SIGCONT信号(kill -18),可以让其从TASK_STOPPED状态恢复到TASK_RUNNING状态;或者kill -9直接尝试杀死。
  • S:可中断的睡眠状态
    进程列表中的绝大多数进程都处于TASK_INTERRUPTIBLE状态(除非机器的负载很高)。毕竟CPU就这么几个,进程动辄几十上百个,如果不是绝大多数进程都在睡眠,CPU又怎么响应得过来。
  • Z:退出状态,进程成为僵尸进程
    一个进程使用 fork 创建子进程,如果子进程退出后父进程没有调用 wait 或 waitpid 获取子进程的状态信息,并将子进程释放掉。那么子进程的进程描述符仍然保存在系统中,仍然占用进程表,此时进程就处于僵尸状态。
    子进程在退出的过程中,内核会给其父进程发送一个信号,通知父进程来“收尸”。出现僵尸状态可能有两种情况:
    第一种情况,父进程收到通知还没来得及完成收尸,此时正常;
    第二种情况,父进程收尸出现异常,此时,只要父进程不退出,子进程的僵尸状态就一直存在,可以通过杀死父进程或者重启来解决。

二.进程管理 process(PS)

静态查看进程ps

ps a 显示现行终端机下的所有程序
ps u 以用户为主的格式来显示程序状况。
ps x 不以终端机来区分。

  • 语法:
    ps aux
    在这里插入图片描述
  • 以CPU占比降序排列(减号是降序)
    语法:
    ps aux --sort -%cpu
    ps aux --sort %cpu
    在这里插入图片描述

进程父子关系

  • 语法
    ps -ef
    在这里插入图片描述
    自定义字段显示(了解)
    在这里插入图片描述

动态查看进程TOP

  • 上半部分
    在这里插入图片描述
    第一行:
    在这里插入图片描述
    第二行:
    在这里插入图片描述
    第三行:
    在这里插入图片描述
    第四行:
    在这里插入图片描述
    第五行:
    在这里插入图片描述
  • 下半部分
    在这里插入图片描述
    查看指定进程的动态信息(每秒刷新一次)
    top -d 1 -p 10086

信号控制进程Kill

  • 信号种类
    编号 信号名
  1. SIGHUP 重新加载配置
  2. SIGINT 键盘中断Ctrl+C
  3. SIGQUIT 键盘退出Ctrl+\,类似SIGINT
  4. SIGKILL 强制终止,无条件
  5. SIGTERM 终止(正常结束),缺省信号
  6. SIGCONT 继续
  7. SIGSTOP 暂停
    20.SIGTSTP 键盘暂停Ctrl+Z
  • 语法

kill -15 1024 正常关闭
kill -9 1024 强制关闭

进程优先级nice

  • 简介:

Linux 进程调度及多任务
每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序。

  • 优先级范围及特征
    优先级图示
    在这里插入图片描述
    系统中的两种优先级
    在top中显示的优先级有两个,PR值和nice值
    NI: 实际nice值
    PR(+20): 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39

优先级特性

nice 值越大: 表示优先级越低,例如+19
nice 值越小: 表示优先级越高,例如-20

查看进程的nice级别

语法:
ps axo pid,command,nice --sort=-nice
在这里插入图片描述

启动不同nice级别的进程

启动进程时,通常会继承父进程的 nice级别,默认为0。
在这里插入图片描述

修改进程nice级别

语法:
renice -10 4687(进程pid)
在这里插入图片描述

三.作业控制jobs(了解)

简介:

作业控制是一个命令行功能,也叫后台运行。

foreground:简写:fg
前台进程:是在终端中运行的命令,占领终端。

background:简写:bg
后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行。

语法:
在这里插入图片描述

四.虚拟文件系统 proc (了解)

  • 简介
    虚拟文件系统:采集服务器自身 内核、进程运行的状态信息
  • cpu
    语法:
    cat /proc/cpuinfo
    在这里插入图片描述
  • 内存
    语法:
    less /proc/meminfo
    在这里插入图片描述
  • 内核
    语法:
    cat /proc/cmdline
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听雾轻吟mx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值