如何管理进程?

本文详细介绍了Linux系统中查看进程的常用工具如ps、top、htop,包括它们的参数解释和使用方法。同时涵盖了查看CPU负载、内存使用、系统启动过程以及内核信息的相关命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看进程

静态查看进程process


ps -aux 命令(可以用grep过滤某个想要查询的进程)
[root@linux-server ~]# ps aux | less
参数解释:
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系

ps -ef 命令(可以用grep过滤某个想要查询的进程)
[root@linux-server ~]# ps -ef
参数解释:
-e 显示所有进程
-l 长格式显示
-f 完整格式
[root@linux-server ~]# ps aux 
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
============================================================================
USER: 	 #运行进程的用户
PID:    #进程ID
%CPU:    #CPU占用率
%MEM:    #内存占用率
VSZ	     进程占用的虚拟内存大小
RSS      占用的物理内存大小
STAT:   #进程状态  ---了解
?        表示没有占用终端
R 	     运行
S 	     可中断睡眠 Sleep
D	     不可中断睡眠
T 	     停止的进程 
Z 	     僵尸进程(主进程已经停止,子进程还在运行)
X        死掉的进程
START:	#进程的启动时间
TIME:	#进程占用CPU的总时间
COMMAND:#进程文件,进程名

[root@x2 ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 10:00 ?        00:00:02 /usr/lib/systemd/systemd --swi
root          2      0  0 10:00 ?        00:00:00 [kthreadd]
root          4      2  0 10:00 ?        00:00:00 [kworker/0:0H]
root          5      2  0 10:00 ?        00:00:00 [kworker/u256:0]
root          6      2  0 10:00 ?        00:00:00 [ksoftirqd/0]
root          7      2  1 10:00 ?        00:00:11 [migration/0]
各个字段含义
UID       用户ID
PID       进程ID
PPID      父进程ID
C         CPU占用率
STIME     开始时间
TTY       开始此进程的TTY----终端设备
TIME      此进程运行的总时间
CMD       命令名

进程状态--了解
Sl	以线程的方式运行
Ss  s进程的领导者,父进程
R+	+表示是前台的进程组
S< <优先级较高的进程 	
SN  N优先级较低的进程

动态查看进程top和htop

top动态显示信息(每三秒刷新)

在这里插入图片描述

10:35:29   表示当前时间
up 35min    表示系统运行时间,时:分
2 user      当前登录用户数
load average :0.25,0.35,0.25  分别代表一分钟,五分钟,十五分钟系统平均负载
152 total   表示当前进程总数
3 running   表示3个进程正在运行
149 sleeping  表示149个进程在休眠状态
0 stopped   表示挺停止的进程数
0 zombie    表示僵尸进程数
0.2 us      用户空间占用CPU百分比                              
1.0 sy      内核空间占用CPU百分比                              
0.0 ni      用户进程空间内改变过优先级的进程占用CPU百分比      
98.8 id     空闲CPU百分比                                      
0.0 wa      等待输入输出的CPU时间百分比                        
0.0 hi      硬中断(Hardware IRQ)占用CPU的百分比              
0.0 si      软中断(Software Interrupts)占用CPU的百分比       
0.0 st      用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间 
4154156 total      物理内存总量         
3400068 free       使用的物理内存总量   
485192used         空闲内存总量         
268896 buff/cache  用作内核缓存的内存量 
2097148 totall     交换区总量       
2097148 free       使用的交换区总量 
0 used             空闲交换区总量   
3457156 avail Mem  缓冲的交换区总量 
 
#通常工作中必须监控的东西 load average(平均负载)等待cpu处理的队列长度 也是个数。
1分钟   第一个数字
5分钟   第二个数字
15分钟  第三个数字
======================
计算cpu负载:load average的三个值: 0.10, 0.16, 0.12,分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高。

id: cpu空闲率
wa: cpu等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
NI: nice值
nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。
指令:
renice <优先级> -p <PID> # 一般不调整
top操作
[root@linux-server ~]# top
h|? 帮助
> 往下翻页
< 往上翻页
M 按内存排序
P 按cpu排序
q 退出   
z 彩色显示
W 保存
=============================
PR   优先级
VIRT 进程使用的虚拟内存总量,单位kb。
RES  进程使用的、未被换出的物理内存大小,单位kb。
SHR  共享内存大小,单位kb
htop

需要安装htop

yum -y install htop
执行命令  htop

在这里插入图片描述

查看端口

[root@linux-server ~]# yum install lsof  #安装软件包
[root@linux-server ~]# lsof -i:80   #端口号,这能查看带端口的进程
COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   64249   root    4u  IPv6 1373628      0t0  TCP *:http (LISTEN)

#注意:端口号只有整数,范围是从0 到65535
参数解释:
FD:文件描述符,应用程序通过文件描述符识别该文件。
DEVICE:指定磁盘的名称
SIZE:文件的大小

#查网络进程和正在监听的端口
[root@linux-server ~]# netstat -lntp
参数详解:
-a  显示全部的进程
-u  显示udp
-n  以数字的新式显示协议名称
-t   tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口

参数解释:
recv-Q:网络接收队列
send-Q:网路发送队列
Foreign Address:与本机端口通信的外部请求

[root@linux-server ~]# w  #看已经登陆到终端的进程信息,远程登陆会有ip 地址

部分参数解释:
USER –登录用户名.
TTY –登录用户使用的终端名.
FROM –登录用户来源的主机名或IP地址.
LOGIN@ –用户登录时间.
WHAT –用户当前的进程及选项/参数。

进程控制

按pid杀死进程

kill(正常杀死某个进程),pkill(杀死所有包含该名称的进程)
例如  kill  123842    正常杀死pid123842进程
kill -9 123842     强制杀死pid123842进程
pkill java     杀死所有java进程
语法: kill 信号 PID   #信号也是进程间通信的一种方式
kill -l   #查看所有信号
-1   HUP  重新加载进程或者重新加载配置文件,PID不变
-9   KILL 强制杀死
-15  TERM 正常杀死(这个信号可以默认不写)
-18  CONT 激活进程
-19  STOP 挂起进程

进程状态解释--了解:
+:表示运行在前台的进程
S+:休眠状态
T+:暂停,挂起状态
s:父进程

jobs作业控制

作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程或者放到后台去运行,等一会儿再继续执行该进程。

[root@linux-server~]# sleep 7000 &   #&:让命令或者程序后台运行
[1] 5441
[root@linux-server ~]# sleep 8000    #ctrl+z 把程序放到后台(这方法会让程序在后台暂停)
^Z
[2]+  Stopped                 sleep 8000

[root@linux-server ~]# jobs  #查看后台的工作号
[1]-  Running                 sleep 7000 &
[2]+  Stopped                 sleep 8000
[root@linux-server ~]# bg %2  #让暂停的程序在后台运行,%是用来修饰job number,2就是job number。(程序的工作号)
[2]+ sleep 8000 &
[root@linux-server ~]# jobs 
[1]-  Running                 sleep 7000 &
[2]+  Running                 sleep 8000 &

[root@linux-server ~]# fg %1  #将后台的程序调到前台
sleep 7000

[root@linux-server ~]# jobs 
[2]+  Running                 sleep 8000 &
[root@linux-server ~]# kill -9 %2  #通过kill杀死进程
[root@linux-server ~]# jobs 
[2]+  Killed                  sleep 8000
[root@linux-server ~]# jobs #在次查看没有了

常用命令

查看CPU负载

[root@linux-server ~]# uptime 
 17:35:01 up 16:02,  3 users,  load average: 0.00, 0.02, 0.05

查看内存使用情况

[root@linux-server ~]# free -m        # m :单位M
              total        used        free      shared  buff/cache   available
Mem:           1984         154        1508           8         321        1632
Swap:          2047           0        2047

linux启动过程

1. 加电
2. 加载bios设置
3. 加载grub,
4. 加载内核系统到内存当中
5. 加载配置文件
6. 加载内核模块
7. 完成相应的初始化工作和启动相应的服务
8. 启动系统进程
9. 出现登录界面
10. 开机启动完成

查看系统版本和内核

[root@linux-server ~]# cat /etc/redhat-release  #查看版本
CentOS Linux release 7.4.1708 (Core)
[root@linux-server ~]# uname -a #看查正在运行的内核版本
Linux linux-server 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@linux-server ~]# uname -r  #查看内核版本
3.10.0-693.el7.x86_64
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值