Linux进程管理之基本指令
目录
基本介绍
- 在Linux中,每个执行的程序都称为一个进程,会被分配到一个PID(进程号)。
- 每个进程都以两种方式存在,前台和后台。
- 一般的系统进程都以后台方式存在且常驻在系统中,直到关机才结束。
显示系统执行的进程
指令 ps - aux
ps [选项]
【process status】
常用选项
选项 | 功能 |
---|---|
-a | 显示当前终端所有的进程信息 |
-u | 以用户的格式显示进程信息 |
-x | 显示后台进程进行的参数 |
注:
1. 参数一般全用上,并用 | more 方便查看
2. 用grep过滤以查看特定进程
每行栏目的含义
- USER:用户名称
- PID:进程号
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用虚拟内存的大小(单位KB)
- RSS:进程占用物理内存的大小(单位KB)
- TTY:终端名称,缩写
- STAT:进程状态
- S-休眠
- s-该进程是会话的先导进程
- N-进程优先级更低
- R-正在运行
- D-短期等待
- Z-僵尸进程
- T-被跟踪或者被停止
- START:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数【进程名】,如果过长会被截断
查看父进程
ps -ef
:e:显示所有进程; f:全格式显示【会显示出PPID即父进程的进程号】
终止进程
相关指令
kill [选项] 进程号
:通过进超杀死程序killall 进程名称
:通过进程名称杀死进程及其子进程【支持通配符,这在系统因负载过大而变得很慢时很有用】
常用选项: -9: 强制停止
实用案例
踢掉某个非法登录用户
-
查看用户登录的PID
-
kill PID
-
查看
终止远程登录服务sshd,在适当的时候再次重启sshd服务
- 终止
此时远程用户将无法链接Linux服务器【Xshell无法建立新的对话链接】
- 恢复
/bin/systemctl start sshd.service
终止多个gedit
-
打开gedit【文本编辑器】
-
终止
强制杀死一个终端
- 打开两个终端,查看PID【本地终端是bash】
ps -aux | grep bash
- 强制终止终端进程
kill -9 bash终端PID
查看进程树
pstree [选项]
选项 | 功能 |
---|---|
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
-
pstree -p
-
pstree -u
-
pstree -pu