进程的基本介绍
- 在计算机中运行起来的程序就是进程,进程与程序区别的关键就在于:进程是动态的,而程序是静态的。
- 前台进程:执行过程中占用屏幕。后台进程:其执行过程在屏幕上没有显示,但却仍然在执行的过程中。
- 一般来说,系统的服务(防火墙、网络服务等等)都是以后台进程的方式运行,指导运行到关机才结束。
显示进程
ps [选项] ,不加选项的ps命令 也显示进程 只是内容少。
选项:
-a :显示当前终端的所有进程信息
-u :以用户的格式显示进程信息
-x :显示后天进程运行的参数
上面的选项 可以相互结合使用。
例:ps -aux

结果详解:
| USER | 进程执行用户 |
|---|---|
| PID | 进程号 |
| %CPU | 当前进程占用cpu的百分比 |
| %MEN | 当前进程占用物理内存百分比 |
| VSZ | 当前进程占用计算机的虚拟内存 |
| TTY | 终端名称缩写 |
| STAT | 当前进程的运行状态,S:睡眠,s:表示该进程是会话的先导进程,N:表示进程拥有比普通优先级更低的优先级,R:正在运行,D:短期等待,Z:僵死进程,T:被跟踪或者被停止等等 |
| START | 进程执行的开始时间 |
| TIME | 占用CPU的时间 |
| COMMAND | 启动该进程的指令,过长的话系统会截断显示 |
例:
过滤显示进程 :ps -aux | grep xxx(xxx代表进程名称)
ps -aux | grep sshd :过滤显示远程登陆服务进程

父子进程:一个程序创建了另一个进程,前者为父进程,后者为子进程。
查看sshd的父进程
ps -ef 以全格式显示当前的所有进程。
-e:显示所有进程,-f:全格式
运行结果:

结果分析:
| UID | 用户ID |
|---|---|
| PID | 进程ID |
| PPID | 父进程ID |
| C | CPU计算的优先级,数值越大表明进程是CPU密集型运算,执行的优先级会降低。数值越小,表明进程是I/O密集型运算,执行优先级会提高 |
| STIME | 进程启动的时间 |
| TTY | 完整的终端名称 |
| TIME | 进程占用CPU的时间 |
| CMD | 启动进程所用的命令和参数 |
终止进程:kill和killall
如果进程执行到一半需要停止时,或者已经占用了很大的资源时,可以考虑停止该进程。使用kill命令完成此任务。
语法:
kill [选项] 进程号
killall 进程名称 (杀死此进程和其子进程,支持通配符,系统负载过大而变慢时很有用。)
选项:-9 表示强迫进程立即停止
案例1:踢掉非法登陆的tom用户

案例2:终止远程登录服务,并重启

案例3:终止多个进程

案例4:强制杀死一个进程
kill -9 进程id

查看进程树:pstree
案例1:以树状的形式,显示进程的pid
pstree -p

案例2:以树状的形式,显示进程的用户名
pstree -u

本文介绍了进程的基本概念,包括前台与后台进程的区别,以及如何通过`ps`命令显示和过滤进程信息。同时,讲解了如何查看进程的父子关系,使用`kill`和`killall`命令终止进程,以及利用`pstree`展示进程树。此外,还提供了实例说明如何操作这些命令。
1639

被折叠的 条评论
为什么被折叠?



