进程分为父进程和子进程,子进程是通过父进程衍生出来的,一些分外缘故原由导致一些子进程没有父进程,我们把这种子进程称为孤儿进程
在Linux中我们常日会利用ps或者pstree来管理常常,本日我们就来讲讲这两个命令的详细用法。
ps

ps命令紧张查看进程的运行状态。详细魄式及参数如下所示:
ps [options] [--help]
ps 的参数非常多, 在此仅列出几个常用的参数并大略先容含义
-A:列出所有进程(把稳是大写的A)-w:显示加宽(可以显示更多的信息)-au:显示详细信息-x:显示所有进程信息-l:查看当前环境下与base有关的进程(会显示父进程,与其他命令组合可以查看父进程ID)-f:显示父进程IDps命令参数可以组合利用,最常用的便是【-au】与【-x】组合利用:
# 查看所有进程并显示详细信息ps -aux#显示加宽,方便查看所有内容ps -auxw
返回结果如下所示
下面我们先容一下返回值中比较主要的参数:
USER:进程拥有者PID:当提高程ID%CPU:占用的 CPU 利用率%MEM: 占用内存利用率RSS:占用的内存的大小STAT:进程的状态:D:无法中断的休眠状态 (常日为 IO 的进程)R:正在实行中S:静止状态T:停息实行Z:不存在但暂时无法肃清W:没有足够的内存分页可分配<:高优先序的进程N:低优先序的进程L:有内存分页分配并锁在内存内 (实时系统或捱A I/O)START:行程开始韶光TIME:实行的韶光COMMAND:启动进程的指令pstree
虽然ps已经可以查看所有进程信息及父进程ID值,但是非常的不直不雅观,但是pstree却可以做到很直不雅观。
pstree查看所有进程并以树形构造显示:
pstree -up
当然我们还可以指定查询某个进程的树构造信息:
pstree -up -p 进程ID
除了通过指定进程ID的形式查看某个进程的树形构造信息外,我们还可以通过管道形式查看:
# 通过管道查看进程信息ps -up |grep '进程名称'#例如查看php-fpm进程信息ps -up |grep 'php-fpm'
显示内容如下:
pidof
如果我们想要通过进程名称直接查看进程ID,可以利用pidof
pidof 进程名
kill 和 killall
上面我们已经先容查看进程信息的干系命令,那么关闭呢?关闭或者杀去世进程可以利用kill及killall,其格式如下:
kill [options] 进程ID
options如下所示:
参数
简写
描述
SIGHUP
1
启动被终止的程序,可让该PID 重新读取自己的配置文件,类似重新启动
SIGINT
2
相称于用键盘输入[ctrl] -c 来中断一个程序的进行
SIGKILL
9
代表逼迫中断一个程序的进行
SIGTERM
15
以正常的结束程序来终止该程序。由于是正常的终止, 所往后续的动作会将他完成。该旗子暗记也是默认值,不加任何旗子暗记时,即表示利用该值
SIGSTOP
19
相称于用键盘输入[ctrl] -z 来停息一个程序的进行
kill通过进程ID来管理进程,而killall通过进程名称来管理进程。下面我们演示一下详细操作:
# kill通过进程ID管理进程kill -15 4260# 或者如下kill SIGTERM 4260# 把稳,这样会杀去世所有php-fpm进程killall -9 php-fpm# 或者如下格式killall SIGTERM php-fpm
有遗漏或者不对的可以在我的"大众年夜众号留言哦