【Linux】3.10 进程管理(重点)

进程管理

1. 进程管理基础

  • 在Linux中,每一个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号
  • 每个进程,都会对应一个父进程,而这个父进程能够复制多个子进程。例如www服务器。
  • 每一个进程均可能以两种方式存在。前台和后台。
    • 前台进程:用户目前的屏幕上能够进行操做的。
    • 后台进程:实际在操做,但因为屏幕上没法看到的进程,一般使用后台方式执行。
  • 通常系统的服务都是之后台进程的方式存在,并且都会常驻在系统中,直到关机才结束。

2. 显示系统执行的进程

2.1 ps指令详细介绍

ps [选项]:查看目前系统中,有哪些正在执行,以及它们执行的情况mysql

  • ps -a:显示当前终端的全部进程信息。
  • ps -u:以用户的格式显示进程信息。
  • ps -x:显示后台进程运行的参数。
  • ps -axu | grep xxx:过滤获得xxx的信息。
  • ps -ef:以全格式显示当前全部的进程,查看进程的父进程。
  • -e:显示全部进程。
  • -f:全格式。

ps -axu显示信息选项sql

System V 展现风格vim

字段 说明
USER 用户说明
PID 进程识别号
%CPU 进程占用cpu百分比
%MEM 进程占用物理内存百分比
VSZ 进程占用虚拟内存大小(KB)
RSS 进程占用物理内存大小(KB)
TTY 终端机号
STAT 进程状态,S睡眠,s表明是会话的先导进程,N表明进程拥有比普通进程更高的优先级,R正在运行,D短时间等待,Z僵死进程,T被跟踪或被中止
STARTED 进程启动的时间
TIME 此进程所消耗的CPU时间
COMMAND 正在执行的命令或进程名

ps -ef显示信息解释服务器

BSD展现风格网络

字段 说明
UID 用户id
PID 进程id
PPID 父进程
C CPU用于执行优先级的因子,数值越大,代表cpu密集型运算,执行优先级会下降,数值越小,代表是I/O密集运算,执行优先级会提升
STIME 进程启动时间
TTY 终端机号
TIME 此进程所消耗的CPU时间
CMD 启动所用的命令和参数

3. 终止进程

如果某个进程执行一半须要中止时,或是消耗了很大的系统资源时,此时能够考虑中止该进程,使用kill命令来完成此任务ssh

  • kill [选项] 进程号:经过进程号杀死进程
    • -9:表示强迫进程马上中止
  • killall 进程名称:经过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时颇有用

案例1:踢掉某个非法用户编辑器

案例2:终止远程服务测试

案例3:终止多个gedit编辑器3d

案例4: 强制杀掉一个终端rest

4. 查看进程树

  • 查看进程树:pstree [选项]
    • -p:显示进程的PID
    • -u:显示进程的所属用户

5. 服务(Service)管理

服务(Service)本质就是进程,可是是运行在后台的,一般都会监听某个端口,等待其它程序的请求,好比(mysql,sshd 防火墙等),所以咱们又称为守护进程。

5.1 service管理指令

service管理指令:service 服务名 [start | stop | restart | reload | status]
在CentOS7.0以后,再也不使用service,而是systemctl

  • 查看防火墙状况:
    • service iptables status
    • systemctl status firewalld(7.0以后的版本)
  • 测试某个端口是否在监听:telnet

5.2 服务查看方式

  • 方式1:setup指令

  • 方式2:ls -l /etc/init.d/

5.3 服务的运行级别(runlevel)

5.4 开机流程

5.5 chkconfig指令

chkconfig:能够给每一个服务的各个运行级别设置自启动/关闭

5.5.1 基本语法

  • 查看xxx服务:chkconfig –list | grep xxx
  • 查看服务的状态:chkconfig 服务名 --list
  • 给服务的运行级别设置自启动:chkconfig –level 5 服务名 on/off
  • 要全部运行级别关闭或开启:chkconfig 服务名 on/off
  • chkconfig从新设置后须要从新启动才能生效

6. 动态监控进程

top与ps类似,都是用来显示正在执行的进程,top的不一样之处在于top执行一段时间能够更新正在运行的进程

6.1 基本语法

top [选项]

  • -d 秒数:指定top命令每隔几秒更新。默认是3秒。
  • -i:使top不显示任何闲置或者僵死进程。
  • -p:经过指定监控进程ID来仅仅监控某个进程的状态。
  • 交互操做说明:
操做 功能
P 以CPU使用率排序,默认就是此项
M 之内存的使用率排序
N 以PID排序
q 退出top

动态进程监控图例

6.2 应用案例

6.2.1 监控特定用户

  1. top查看进程;
  2. u
  3. 输入用户名。

6.2.2 终止指定的进程

  1. top查看进程;
  2. k输入要结束的进程。

7. 查看网络状况

7.1 基本语法

netstat [选项]

  • -an:按必定顺序排列输出
  • -p:显示哪一个进程在调用

7.2 应用案例

  1. 查看全部的网络服务
    • netstat -anp | more
  2. 查看sshd的服务的信息
    • netstat -anp | grep sshd