linux进程相关

  1. 列出相关进程 ps -ef | grep xxx
    <pre>

ps -ef | grep nginx

UID PID PPID C STIME TTY TIME CMD
root 18334 1 0 Nov22 ? 00:00:00 nginx: master process nginx
www-data 18335 18334 0 Nov22 ? 00:00:11 nginx: worker process
www-data 18336 18334 0 Nov22 ? 00:01:23 nginx: worker process
www-data 18337 18334 0 Nov22 ? 00:01:22 nginx: worker process
www-data 18338 18334 0 Nov22 ? 00:01:13 nginx: worker process
root 26810 26726 0 15:46 pts/0 00:00:00 grep --color=auto nginx
</pre>

  1. 查看指定进程状态 cat /proc/pid/status
    具体详细说明见:http://blog.chinaunix.net/uid-24347760-id-2943156.html
    这里罗列的信息过多,就不粘出来了,如果只需要看指定信息就grep一下就好
    例如内存占用:cat /proc/18334/status | grep VmRSS

    另外:想要知道指定pid的进程是否在运行只要判断 /proc/$pid$ 这个文件夹存在不存在就好了
  2. 想要查询指定pid的子进程方法(ruby)

%x{ps -ef | grep #{target_pid}}.split("\n").map{|x|x.split(' ')[1..2]}.select{|x|x[1].to_i==target_pid.to_i}.map{|x|x[0].to_i}

Paste_Image.png

深入一部:查询这几个进程的内存占用情况
<pre>
def pid_memory_use(_pid)
proc_status = "/proc/#{_pid}/status"
if File.exists? proc_status
str = %x{cat #{proc_status} | grep VmRSS }
return str.gsub(/(VmRSS:)|[\t\n]/,'').strip
end
return '-1'
end
</pre>

2.1.4 :021 > [18335, 18336, 18337, 18338].map{|_pid|pid_memory_use(_pid)}
=> ["2548 kB", "1800 kB", "1800 kB", "2548 kB"]

  1. 查看指定端口相关进程:lsof -Pn | grep :8080

that's all

推荐阅读更多精彩内容

  • 1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单...
    rosekissyou阅读 9,856评论 5 124
  • 系统巡检脚本:Version 2016.08.09 ############################ 系统...
    JAMES韩兵阅读 1,149评论 0 0
  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 8,208评论 1 41
  • R:我们不仅在物品稀缺时想要占有它,而且在碰上有人竞争时最想要。 I:对一个事物的判断往往会因为我们的心理作用而受...
    哈哈嘻嘻哈嘻嘻阅读 137评论 0 0
  • 穿越在春天的微风里, 流连于樱花雨, 不经意停留在我的肩头, 应是春雪, 流浪了整个花期, 如今已零落成泥, 铺了...
    执一念终老阅读 267评论 4 2