目录
- 进程相关介绍
- 显示系统执行的流程 ps
- ps 详解
- 案例
- 终止进程kill 和 killall
- 基本语法
- 常见选型
- 案例
- 查看进程数pstree
- pstree [选项],可以更加直观的来查看进程信息
进程相关介绍
- 在Linux中,每个执行的程序都为一个进程,每个进程都分配了一个id号(pid 进程号)
- 每个进程中可能以两种形式存在,前台和后台,所谓前台后台进程就是用户在目录上可以操作的进程,后台是无法在屏幕上操作的进程
- 一般系统的服务进程都是以后台进行的方式存在,而且会常驻在系统中直到关机才结束
显示系统执行的流程 ps
ps 命令是用来查看系统中哪些正在运行,以及他们的运行的状况,可以不加任何参数
-
ps -a:显示终端所用的进程信息
-
ps-u:以用户的格式显示进程的信息
-
ps-x:显示后台程序运行的参数(这个太多,就不放图片了)
ps 详解
- 指令 ps -aux | grep XXX 查看有没有某个服务
- 指令说明
- System V 展示风格
- user 用户名称
- PID 进程号
- %CPU 进程占用CPU的百分比
- %MEM 进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小
- RSS:进程占用的物理内存大小
- TT :进程名称
- STAT:进程状态
- STARTED:进程的启动时间
- TIME :CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
案例
要求以全格式的显示当前多有进程,查看进程的父进程,查看sshd的父进程信息
ps -ef 是以全格式显示当前所有的进程
-e 显示所有进程,-f:全格式
ps -ef | grep sshd
终止进程kill 和 killall
若是某个进程执行一半需要停止时候,或是已经消耗了很大的系统资源的时候,可以考虑停止该线程
基本语法
- kill [选项] 进程号 :通过线程号杀死进程
- killall 进程名称: 通过进程名杀死进程,支持通配符,这在系统因负载过大而变得很慢的时候很有用
- killall 会杀死当前进程和子线程
常见选型
- -9表示强迫进程立即停止
案例
- 踢掉某个非法登录的用户 ps -aux |grep sshd kill 进程号
- 终止远程服务sshd,在适当时候重新启动 kill sshd对应的进程号 重启
- /bin/systemctl start ssh.service
- 通过进程名称,终止gedit killall gedit
- 强制杀掉一个终端 (终端服务是bash) ps -aux | grep bash ,kill --9 进程ID号
查看进程数pstree
pstree [选项],可以更加直观的来查看进程信息
-p:显示进程的PID
-u:显示进程的所属用户