python小練–擷取pid和mem

來源:互聯網
上載者:User
代碼

 1 #!/usr/bin/env python
 2 #coding=utf-8
 3 #注意修改get_mem函數中,splite取的列要對應你的目標
 4 import os
 5 import sys
 6 
 7 def get_Pid(process_name):
 8     cmd = "ps -C %s | grep -v CMD |awk '{ print $1 }'"%process_name
 9 #    print cmd
10     try:
11         pid = os.popen(cmd).read()
12         if pid:
13             print 'The pid of process_name:'%process_name +'is ',pid
14             return pid
15         else:
16             print 'sorry to get pid,maybe the process_name is wrong?'
17             return None
18     except Exception,e:
19 #        print e
20         return pid
21 def get_Mem(pid):
22     cmd_top = 'top -p %s -b -n 1 | tail -n 2 | head -n 1'%pid
23     mem = os.popen(cmd_top).read().split()[4]
24     return mem
25 
26 def main(process_name):
27     PID = get_Pid(process_name)
28     result = get_Mem(PID)
29     print "the process '%s',whose mem is %s"%(process_name,result)
30     
31 if __name__ =='__main__':
32     process_name = sys.argv[1]
33     main(process_name)
34 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.