专栏【玩转Linux操作】
喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
音乐分享【Counting Stars 】
欢迎并且感谢大家指出小吉的问题
在Linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID号(PID,进程号)
每个进程都可能是以两种方式存在的,前台和后台,所谓前台就是用户目前的屏幕上可以进行操作的。后台进程是实际在操作,但是由于屏幕上不能看到的进程,通常使用后台方式执行
一般系统的服务都是以后台进程的方式存在,而且会常驻在系统中,直到关机才结束
ps
命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数
命令 | 效果 |
---|---|
ps -a | 显示当前终端的所有进程信息 |
ps -u | 以用户的格式显示进程信息 |
ps -x | 显示后台进程运行的参数 |
ps显示的信息选项
字段 | 说明 |
---|---|
PID | 进程识别号 |
TTY | 终端机号 |
TIME | 此进程所占用CPU的时间 |
CMD | 正在执行的命令或进程名 |
这三个参数可以组合使用
ps -aux
(ps -aux | more
可以分页展示)
ps -aux | grep sshd
ps -ef
是以全格式显示当前所有的进程,-e
显示所有进程 -f
全格式
ps -ef | grep sshd
ps -aux | grep sshd
该命令使用 ps 命令的 aux 选项,表示显示所有用户的进程信息
ps -ef | grep sshd
该命令使用 ps 命令的 ef 选项,表示显示完整格式的进程信息
如果某个进程执行一半需要停止时,或者已经消耗了很大的系统资源时,此时可以考虑终止该进程
终止某一个进程(子进程不会停止)
终止所有的进程,包括子进程
-9
表示强迫进程立即停止
ps -ef | grep sshd
查看
然后kill
掉某一个进程
使用/bin/systemctl start sshd.service
,又可以重新登录了,但是进程号会发生变化
当我们打开两个bash后,如果使用kill,会发现,另一个bash不会消失
因为此时系统会以为我们输错了
如果要强制删除这个bash,加个-9
即可
使用进程树来看进程,会更加清晰
pstree [选项]
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正