进程管理相关知识

总结在工作过程中,遇到的问题和使用的相关的命令。

查看某个进程的所有子进程

pstree -p pid

查看某个用户的所有进程

ps -u username

查看某个进程的父进程

ps -ef |grep XXX |awk '{print $3}' | xargs ps -p

查看某个进程的具体文件路径

ls -la /proc/pid |grep cwd

查看某个进程的内存占用

pmap -d pid
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
ps -eo 'pid,ppid,psr,rsz,pcpu,command' |sort -n -r -k 4 加上排序功能。

Linux进程状态解析 之 R、S、D、T、Z、X

  • R (TASK_RUNNING),可执行状态。
  • S (TASK_INTERRUPTIBLE),可中断的睡眠状态。
  • D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。
  • T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态。
  • Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。

kill -9 杀不死进程的两种情况:

  • 该进程为z状态,此时只能杀死该进程的父进程。
  • 该进程处于核心态,处于核心态的进程,且在等待不可获得的资源,默认忽略所有信号。

按照内存使用大小进行倒叙排列

ps -eo rss,pmem,pcpu,vsize,args |sort -k 3 -r -n
ps -aux --sort=-rss ps自带的参数--sort。按照rss的将序排列。
ps -aux --sort=-%cpu 按照CPU利用率将序排列。

你可能感兴趣的:(进程管理相关知识)