Hello~大家好!我是今越,本文内容来源于平时的学习笔记,希望对大家有所帮助。鉴于个人水平有限,文中难免会有不足之处,欢迎留言评论。需要转载的朋友,请注明出处。感谢点赞和收藏。一起加油!:)
往期文章回顾
Linux 操作系统 01 - 目录篇
Linux 操作系统 02 - 文件篇
Linux 操作系统 03 - 用户和组管理
Linux 操作系统 04 - 权限管理
Linux 操作系统 05 - 定时任务调度
Linux 操作系统 06 - 磁盘管理
在 Linux 中,每个执行的程序都称为一个进程。每个进程都分配一个 ID 号。每个进程都有两种存在方式,前台和后台。所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程是在后台运行的。通常,系统服务都是以后台进程的方式存在的,而且都会常驻在系统中,直到关机才结束。
功能描述:显示系统执行的进程
ps [选项] | grep xxx
选项
-a
显示当前终端的所有进程信息
-u
以用户的格式显示进程信息
-x
显示后台进程运行的参数
说明
1)端口配置文件:/etc/services
;
案例
[root@localhost ~]# ps PID TTY TIME CMD 18330 pts/0 00:00:00 bash 19988 pts/0 00:00:00 ps
显示说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消 CPU 时间
CMD 正在执行的命令或进程名
[root@localhost /]# ps -aux | grep sshd root 7566 0.0 0.2 112756 4312 ? Ss 15:58 0:00 /usr/sbin/sshd -D root 17149 0.0 0.2 158712 5544 ? Ss 15:59 0:01 sshd: root@pts/0 root 22335 0.0 0.0 112728 988 pts/0 S+ 20:59 0:00 grep --color=auto sshd
显示说明
System V 展示风格
USER 进程执行用户
PID 进程号
%CPU 进程占用 CPU 的百分比
%MEM 进程占用物理内存的百分比
VSZ 进程占用的虚拟内存大小(单位:KB)
RSS 进程占用的物理内存大小(单位:KB)
TTY 终端名称,缩写
STAT 进程状态,其中 S - 睡眠,s - 表示该进程是会话的先导进程,N - 表示进程拥有比普通优先级更低的优先级,R - 正在运行,D - 短期等待,Z - 僵死进程,T - 被跟踪或者被停止
STARTED 进程的启动时间
TIME CPU 时间,即进程使用 CPU 的总时间
COMMAND 启动进程所用的命令和参数,如果过长会被截断显示
要求以全格式显示当前所有的进程,查看进程的父进程。
ps -ef | grep sshd
选项
-e
显示所有进程
-f
全格式
案例
[root@localhost /]# ps -ef | grep sshd root 7566 1 0 15:58 ? 00:00:00 /usr/sbin/sshd -D root 17149 7566 0 15:59 ? 00:00:01 sshd: root@pts/0 root 22373 17165 0 21:01 pts/0 00:00:00 grep --color=auto sshd
显示说明
BSD 风格
UID 用户 ID
PID 进程 ID
PPID 父进程 ID
C CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME 进程启动的时间
TTY 完整的终端名称
TIME CPU 时间
CMD 启动进程所用的命令和参数
如果某个进程执行到一半需要停止,或者是已经消耗了很大的系统资源,这时可以考虑停止该进程。
功能描述:通过进程号杀死/终止进程
kill [选项] 进程号
功能描述:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时很有用
killall 进程名称
选项
-9
表示强迫进程立即停止
案例
1)踢掉某个非法登录用户
kill 进程号
2)终止远程登录服务 sshd,在适当的时候再次重启 sshd 服务
kill sshd 对应的进程号
/bin/systemctl start sshd.service
3)终止多个 gedit
killall gedit
4)强制杀掉一个终端
kill -9 bash对应的进程号
功能描述:查看进程树,更加直观的查看进程信息
pstree [选项]
选项
-p
显示进程的 PID
-u
显示进程的所属用户
案例
功能描述:动态监控进程
top [选项]
选项
-d
秒数 指定 top 命令每隔几秒更新,默认是 3 秒
-i
使 top 不显示任何闲置或僵死进程
-p
通过指定监控进程 ID 来仅仅监控某个进程的状态
交互操作
P
以 CPU 使用率排序,默认就是此项
M
以内存的使用率排序
N
以 PID 排序
q
退出 top
说明
1)top 与 ps 命令很相似,它们都是用来显示正在执行的进程。top 与 ps 最大的不同在于,top 在执行一段时间后可以更新正在运行的进程;
案例
1)监视特定用户,例如 tom 用户
先输入 top 命令,回车,然后输入 u 回车,再输入用户名即可
2)终止指定的进程,例如结束 tom 登录
先输入 top 命令,回车,然后输入 k 回车,再输入要结束的进程 ID,最后输入 9 回车
3)指定系统状态更新的时间为每隔 10 秒自动更新
top -d 10
功能描述:查看系统中开启的服务和网络情况
netstat [选项]
选项
-a
列出全部服务,包含已经连接的服务和未连接的服务
-t
列出 tcp 数据
-u
列出 udp 数据
-l
列出正在监听的网络服务(不包含已经连接的服务)
-n
用端口号来显示服务,而不是用服务名
-p
列出该服务的进程 ID(PID)
案例
1)查看服务名为 sshd 的服务的信息
netstat -anp | grep sshd
慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)