Linux(十二)—— Linux 进程管理

一、Linux 进程管理

1、Linux 进程概述

(1)进程简介

  • 在LINUX中,每个执行的程序(代码)都称为一个进程。一个进程都分配一个ID号。
  • 每一个进程, 都会对应一个父进程,而这个父进程可以复制多个子进程。例如wwww服务器。
  • 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才才结束。

2、进程指令

(1) ps命令:查看进程,显示的字段有

  • PID:进程识别号
  • TTY:终端机号
  • TIME:此进程所消CPU时间
  • CMD:正在执行的命令或进程名

ps -a:显示当前终端的所有进程信息
ps -u:一用户的格式显示进程信息
ps -x:显示后台进程运行的参数
在这里插入图片描述
在这里插入图片描述
在上图的显示中,

  • USER:表示用户名
  • PID:表示进程的id
  • %CPU:表示占用的CPU
  • %MEM:表示占用的内存百分比
  • VSZ:表示使用的虚拟内存
  • RSS:表示使用的物理内存
  • TTY:表示使用的终端
  • STAT:表示进程的状态,s表示休眠,r表示运行
  • START:表示进程的启动时间
  • TIME:表示占用cpu总时间
  • COMMAND:表示进程执行时的命令行

ps -aux | grep xxx:查看一个具体的进程,如xxx
在这里插入图片描述
ps -ef | more:查看父进程
在这里插入图片描述
(2)终止进程指令:killkillall

  • kill [选项] 进程号:通过进程号杀死进程
  • killall 进程名称:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

常用选项:

  • -9:表示强迫进程立即停止

(3)查看进程树:pstree

  • pstree [选项]:以树的形式查看进程

常用选项

  • -p:显示进程的PID
  • -u:显示进程的所属用户
    在这里插入图片描述

二、Linux 服务管理

1、Linux 服务概述

(1)服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql, sshd防火墙等),因此我们又称为守护进程

2、Linux 服务管理指令

(1)service管理指令:

  • service服务名 [start | stop| restart | reload| status]
  • 在Centos7.0以后,指令为systemctl,而不是``service

示例

  • 停止/启动/查看防火墙
    在这里插入图片描述
    (2)setup指令设置服务自动启动
  • 执行setup指令进入以下界面
    在这里插入图片描述
  • 选择系统服务,进入下面的界面,在这里就可以设置需要自动启动的服务,带*号的都是可以自动启动的服务。
    在这里插入图片描述
    (3)/etc/init.d/指令:查询服务
    在这里插入图片描述
    (4)vi/etc/inittab指令:查看/修改服务的默认运行级别
    ① 服务的运行级别
  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,用于root权限,用于系统维护,该运行级别禁止远程登陆
  • 运行级别2:多用户状态(没有NFS),不支持网络连接
  • 运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设置为6,否则系统不能正常启动

② 开机流程
开机 >> BIOS >> /boot >> init进程 >> 运行级别 >> 运行级别对应的服务
在这里插入图片描述
(5)chkconfig指令:给每个服务的各个运行级别设置自启动/关闭

  • chkconfig --list | grep xxx:查看所有的服务的自启动状态
    在这里插入图片描述
  • chkconfig [服务名] --list:查看某个服务的自启动状态
    在这里插入图片描述
  • chkconfig --level 5 [服务名] on/off:指定查看某个服务的指定运行级别的自启动状态
    在这里插入图片描述

三、Linux 监控服务

(1)top指令:动态监控进程
top与ps.命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。

  • top [选项]

常用选项

  • -d 秒数:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
  • -i:使top不显示任何闲置或者僵死进程.
  • -p:遇过指定监控进程ID来仅仅监控某个进程的状态。

交互操作说明

  • P:以CPU使用率排序,默认就是此项
  • M:以内存的使用率排序
  • N:以PID排序
  • q:退出top

示例
在这里插入图片描述
上图中

  • 20:57:25:当前时间
  • 38 min:系统已运行时间
  • 2 users:当前登录用户数
  • load average: 0.00,0.00,0. 00:负载均衡
  • Tasks :285 total:总进程数
  • 1 running 284:正在运行进程数
  • 0 stopped:已停止进程数
  • 0 zombie:僵尸进程数
  • Cpu(s) 0. 0%us:用户占用cpu
  • 0.1%sy:系统占用cpu
  • 99.9%id:空闲cpu
  • Mem:代表当前内存使用情况
  • Swap:Swap分区

(2)netstat指令:查看系统网络情况

  • netstat [选项]

选项说明

  • -an:按一定顺序排列输出
  • -p:显示哪个进程在调用
    在这里插入图片描述

(3)ping指令:检测主机连接命令
这是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障,如: ping对方ip地址I

发布了75 篇原创文章 · 获赞 10 · 访问量 2912

猜你喜欢

转载自blog.csdn.net/baidu_27414099/article/details/104439898