本文主要介紹在 Python 中使用 psutil 獲取系統(tǒng)的進(jìn)程信息。
1 概述
psutil 是 Python 的一個(gè)進(jìn)程和系統(tǒng)工具集模塊,通過(guò)使用 psutil,我們可以在 Python 中獲取操作系統(tǒng)中進(jìn)程的相關(guān)信息。
本文中使用的 rpm 包為: python2-psutil.x86_64,該 rpm 包定義如下:
python2-psutil.x86_64 : A process and system utilities module for Python
2 代碼示例
下面給出一個(gè)示例程序,該程序有兩個(gè)功能:獲取 OS 中的所有進(jìn)程信息,并打印出來(lái);殺掉指定的進(jìn)程。代碼(process_oper_test1.py)如下:
#!/usr/bin/python # File name: process_oper_test1.py # Description: some process operations # Created on: 2018-07-19 # Author: liitdar import psutil import os import signal print("----------------------------- show all processes info --------------------------------") # show processes info pids = psutil.pids() for pid in pids: p = psutil.Process(pid) # get process name according to pid process_name = p.name() print("Process name is: %s, pid is: %s" %(process_name, pid)) print("----------------------------- kill specific process --------------------------------") pids = psutil.pids() for pid in pids: p = psutil.Process(pid) # get process name according to pid process_name = p.name() # kill process "sleep_test1" if 'sleep_test1' == process_name: print("kill specific process: name(%s)-pid(%s)" %(process_name, pid)) os.kill(pid, signal.SIGKILL) exit(0)
下面測(cè)試一下上述代碼。
我們的系統(tǒng)中現(xiàn)有一個(gè)名為“sleep_test1”的進(jìn)程在運(yùn)行,如下:
然后我們使用下面的命令運(yùn)行Python示例程序,命令如下:
[root@node1 /opt/liitdar/mydemos/simples]# python process_oper_test1.py
(部分)運(yùn)行結(jié)果如下:
此時(shí),我們?cè)俨樵?xún)“sleep_test1”進(jìn)程,發(fā)現(xiàn)該進(jìn)程不存在了,這說(shuō)明Python示例程序的功能正常。如下:
以上這篇在Python中獲取操作系統(tǒng)的進(jìn)程信息就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
