Linux中的进程管理

Linux中的进程管理

快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,小编会及时修改)

概念:
进程是已经启动的可执行程序的运行实例。 是程序的运行过程。 动态的,有生命周期以及运行状态

程序:
二进制文件 静态 /usr/bin/date /usr/local/nginx/sbin/nginx /usr/sbin/httpd
/usr/sbin/sshd
cat grep 等我们运行的指令都属于进程
查看进程
静态查看进程(一)
[root@baizhi ~]# ps aux | less
# ps 是进程查看指令
参数:
	a 只能查看系统里面运行的所有终端进程
	u 显示进程拥有者
	x 显示系统内所有进程
	f 显示进程之间的父子关系
# VSZ虚拟内存
虚拟内存的作用:扩展计算机的内存容量,当本地内存不足时,可以使用虚拟内存将一部分内存数据转移到磁盘上,从而扩展计算机的内存容量。
这样可以让计算机 那些运行复杂,特别占用内存的程序,不会出现内存不足的情况。减轻物理存储器不足的压力。
设置虚拟内存可以在内存不足的情况下将一部分数据临时缓存到磁盘上。
通过虚拟内存,操作系统可以将应用程序使用的内存空间转换为虚拟地址,就允许应用程序访问不在物理内存中的数据,
这样可以避免因为内存不足导致性能下降的情况发生。 ---- 虚拟内存,提升程序的运行速度

在这里插入图片描述

STAT 进程状态(了解)
	? : 表示没有占用终端
	R : 运行
	S : 可中断睡眠 sleep
	D : 不可中断睡眠
	T : 停止的进程
	Z : 僵尸进程
	X : 死掉的进程
	Sl : 以线程的方式运行
	Ss : s进程的领导者 父进程
	R+ : +表示进程组
	S< : 优先级较高的进程
	SN : N优先级较低的进程
# 僵尸进程
表示进程已经退出,但它的父进程还没有回收子进程占用的资源。 短暂的僵尸状态通常不必理会,但进程如果长时间处于僵尸状态,就应该引起注意,
可能是应用程序没有正常处理子进程的退出。
# S 可中断睡眠 Sleep ---- 类似于挂起 等待接受 socket链接或者一些信号重新被唤起
# D 不可中断睡眠 --- 不可被打断 表示进程正在和硬件进行交互 为了保护进程数据和硬件数据一致,系统不允许其他进程终端这个过程。
进程长时间处于不可中断状态,通常表示系统的 IO(内存与磁盘的交互)性能有问题
# 主进程和工作进程(子进程): 主进程的主要作用是读取和评估配置文件,以及维护工作进程。 工作进程执行请求。
静态查看进程(二)
语法:
	ps -ef
参数:
	-e 显示所有进程
	-f 展示完整格式
	-l 长格式展示

在这里插入图片描述

查看单个PID
	ps -ef | grep 进程名 # 至少看到两条进程[主进程 工作进程]

# 安装apache软件 httpd
	[root@bai ~]# yum -y install httpd # 属于服务器
# 启动httpd软件
# 只有通过 yum 安装的软件才支持下面这种开启服务的方式 [nginx是源码安装,不支持 只能使用 /usr/local/nginx/sbin/nginx 开始]
	[root@bai ~]# systemctl start httpd
# 查看httpd 的状态
	[root@bai ~]# systemctl status httpd
# 注意
	httpd 这款服务器软件对外提供服务的端口号也是 80 与 nginx 默认的服务端口号冲突
办法1 : 保证两款服务只开启一个
办法2 : 修改软件的端口号
办法 1 :
	关闭nginx 或者 关闭 httpd
# 关闭nginx
	[root@bai ~]# /usr/local/nginx/sbin/nginx -s stop
# 关闭 httpd
	[root@bai ~]# systemctl stop httpd
办法2:
	修改 nginx的端口号
	[root@bai ~]# vim /usr/local/nginx/conf/nginx.conf
	server {
	listen 81; # 设置端口号 在36行
	server_name localhost;
查看httpd的PID
	[root@bai ~]#cat /var/run/httpd/http.pid
	1776 [PID每次开启进程,都会变化]
查看nginx的pid
	[root@bai ~]# cat /usr/local/nginx/logs/nginx.pid # 获取pid的效率比 ps aux 效率高
查找到某条进程的pid以后 可以很方便的杀死该进程
查看端口
# 安装软件包 lsof
	[root@bai ~]# yum -y install lsof
# 查看带 80 端口号的进程
	[root@bai logs]# lsof -i:80
# 查网络进程和正在监听的端口
	[root@bai ~]# yum provides net-tools # 检测本地是否安装
	[root@bai ~]# yum -y install net-tools
# 指令
	netstat -lntp
参数
	-l : 只显示正在被监听的端口
	-p : 显示进程的名称和 pid
	-n : 以数字的形式显示协议名称
	-t : tcp
	-a : 显示全部的进程
	-u : 显示 udp
动态查看进程
# top 动态展示信息,三秒刷新一次
	[root@baizhi logs]# top
top操作:
	h 帮助
	> 往下翻页
	< 往上翻页
	M 按照内存占用排序
	P 按照cpu占用排序
	q 退出
	z 彩色展示

nice ----- 进程的优先级
nice值越高,更不容易分配到CPU , 表示优先级越低 例如 +19 该进程容易被其他进程把cpu夺走
nice值越低,更容易分配到CPU,表示优先级越高 例如 -20 该进程更容易获取cpu
htop
# 检测软件是否安装
	which htop
若未安装 yum -y install htop
#运行指令
	htop

在这里插入图片描述

进程控制
# 按 pid 杀死进程
指令 kill pkill
语法:
kill 信号参数 pid
pkill 信号参数 pid
kill 信号 pid # 信号也是进程间通信方式

信号参数:
# 查看所有信号参数
	kill -l
# 常见参数
	-1 重新加载进程或者重新加载配置文件
	-9 强制杀死
	-15 正常杀死(这个参数可以省略) # 例如:kill 1801 ## 信号参数 -15
	-18 激活线程
	-19 挂起线程
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

寂冄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值