Linux进程管理
1.进程介绍
- 在Linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程
- 每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进程操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束。
2.显示系统执行的进程
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况
ps-a :显示当前终端的所有进程信息
ps-u :以用户的格式显示进程信息
ps-x :显示后台进程运行的参数
范例:查看系统进程
ps- aux |more
每个列的含义:
- USER :用户名
- PID :进程id
- %CPU:占用的cpu
- %MEM :占用内存
- VSZ :使用的虚拟内存
- RSS :使用物理内存情况
- TTY :使用的终端
- STAT :进程状态 s:休眠 r:运行
- START :启动时间
- TIME :占用cpu总时间
- COMMAND :进程执行时的命令行
范例:查看指定进程sshd
ps -aux|grep sshd
范例:查看父进程(PPID为父进程)
ps -ef |more
范例:查看sshd的父进程
ps -ef |gerp sshd
3.终止进程kill和killall
若是某个进程执行一半需要停止时,或是进程消耗了大量资源时,可以考虑停止该进程
语法:
kill 选项 进程号 (通过进程号杀死进程)
killall 进程名称 (支持通配符)
常用选项
-9 :表示强迫进程立即停止
范例:踢掉非法用户
ps -aux |grep sshd(查询进程号)
kill 进程号
范例:杀掉一个终端
ps -aux |grep bash
kill -9 进程号
4.查看进程树pstree
pstree 选项
常用选项
-p :显示进程的pid
-u :显示进程的所属用户