转自:
https://pypi.python.org/pypi/psutil
http://www.crifan.com/try_python_psutil/
http://www.open-open.com/lib/view/open1360159277267.html
psutil简介
psutil是什么
psutil是个Python模块。
【yasi】文档看这里:https://pypi.python.org/pypi/psutil
psutil能干啥
psutil能干的事是:提供了个接口,可以用来获取信息,包括:
- 当前运行的进程
- 系统(资源使用)信息
- CPU
- 内存
- 磁盘
- 网络
- 用户
psutil实现了很多功能,包括了如下工具所具有的:
- ps
- top
- df
- kill
- free
- lsof
- free
- netstat
- ifconfig
- nice
- ionice
- iostat
- iotop
- uptime
- pidof
- tty
- who
- taskset
- pmap
由此可见,也就可以利用psutil去实现kill的功能,而把某个进程干掉。
下载psutil
找到下载的地方:
http://code.google.com/p/psutil/downloads/list
下载和我当前系统:
win7 64位
Python 2.7.2
对应的:
psutil-0.6.1.win-amd64-py2.7.exe
得到
psutil-0.6.1.win-amd64-py2.7.exe
安装psutil
双击psutil-0.6.1.win-amd64-py2.7.exe去安装:
此处可以正确的检测出Python的安装路径:
准备安装:
很快就安装完毕了:
使用psutil
试着去写写代码。
此处,尝试去找到,当前进程中正在运行的有道词典的信息,并打印出来。
进程名是:YodaoDict.exe
然后再干掉此进程。
然后参考:
http://pypi.python.org/pypi/psutil
中的“Process management”,去写代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Function:
【记录】折腾Python中的psutil:一个用于获得处理器和系统相关信息的模块
Author: Crifan Li
Version: 2013-01-02
Contact: admin at crifan dot com
"""
import
psutil;
def
tryPsutil():
pidList
=
psutil.get_pid_list();
print
"pidList="
,pidList;
#processToTest = "QQ.exe";
processToTest
=
"YodaoDict.exe"
;
for
eachPid
in
pidList:
try
:
eachProcess
=
psutil.Process(eachPid);
#print "eachProcess=",eachProcess;
processName
=
eachProcess.name;
if
(processName.lower()
=
=
processToTest.lower()):
print
"Found process"
;
print
"processName="
,processName;
processExe
=
eachProcess.exe;
print
"processExe="
,processExe;
processGetcwd
=
eachProcess.getcwd();
print
"processGetcwd="
,processGetcwd;
processCmdline
=
eachProcess.cmdline;
print
"processCmdline="
,processCmdline;
processStatus
=
eachProcess.status;
print
"processStatus="
,processStatus;
processUsername
=
eachProcess.username;
print
"processUsername="
,processUsername;
processCreateTime
=
eachProcess.create_time;
print
"processCreateTime="
,processCreateTime;
print
"Now will terminate this process !"
;
eachProcess.terminate();
eachProcess.wait(timeout
=
3
);
print
"psutil.test()="
,psutil.test();
except
psutil.NoSuchProcess,pid:
print
"no process found with pid=%s"
%
(pid);
if
__name__
=
=
"__main__"
:
tryPsutil();
|
完整的输出效果是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
E:\Dev_Root\python\try_psutil>try_psutil.py
pidList= [0, 4, 412, 496, 564, 576, 620, 628, 636, 700, 784, 860, 928, 992, 172, 452, 1064, 1124, 1208, 1412, 1448, 1504
, 1644, 1696, 1760, 1784, 1884, 1960, 2024, 1136, 1340, 2156, 2264, 2296, 2316, 2444, 2584, 2592, 2712, 2756, 2952, 3004
, 2480, 2988, 2108, 3268, 3808, 4008, 2512, 3580, 4284, 5040, 2092, 4120, 5060, 1524, 4436, 5488, 5520, 5888, 5696, 1912
, 1660, 8432, 1060, 976, 7416, 7656, 1736, 5412, 9628, 9712, 10072, 15508, 19368, 21096, 17132, 24396, 26680, 34056, 290
20, 31976, 24472, 32380, 32544, 25272, 35712, 23604, 32516, 36484, 35852, 37540, 37236, 37348, 38820, 37256, 38304, 3807
2, 36392, 22808]
Found process
processName= YodaoDict.exe
processExe= D:\Program Files (x86)\Youdao\Dict4\YodaoDict.exe
processGetcwd= C:\Windows
processCmdline= [
'D:\\Program Files (x86)\\Youdao\\Dict4\\YodaoDict.exe'
,
'start'
,
'-hide'
]
processStatus= running
processUsername= NYBDHB7EB3XEHP6\Administrator
processCreateTime= 1357032858.0
Now will terminate this process !
psutil.
test
()=USER PID %CPU %MEM VSZ RSS TTY START TIME COMMAND
SYSTEM 0 0.0 ? ? 24 ? Jan01 49:51 System Idle Process
SYSTEM 4 0.0 ? 132 380 ? Jan01 43:10 System
172 0.0 0.2 11172 15164 ? Jan01 00:18 svchost.exe
412 0.0 ? 560 500 ? Jan01 00:00 smss.exe
452 0.0 0.8 47740 51376 ? Jan01 04:49 svchost.exe
496 0.0 0.1 2664 3196 ? Jan01 00:04 csrss.exe
564 0.0 ? 1724 1404 ? Jan01 00:00 wininit.exe
576 0.0 0.6 4012 36836 ? Jan01 05:42 csrss.exe
620 0.0 0.1 4964 6744 ? Jan01 00:05 services.exe
628 0.0 0.2 7116 9640 ? Jan01 00:45 lsass.exe
636 0.0 0.1 3460 3444 ? Jan01 00:11 lsm.exe
700 0.0 0.1 3396 4200 ? Jan01 00:00 winlogon.exe
784 0.0 0.1 5696 7244 ? Jan01 02:45 svchost.exe
860 0.0 0.1 6228 7652 ? Jan01 00:07 svchost.exe
928 0.0 ? 1728 2132 ? Jan01 00:00 atiesrxx.exe
Administra 976 0.0 4.0 178760 247656 ? Jan01 37:11 360se.exe
992 0.0 0.2 21888 14048 ? Jan01 00:58 svchost.exe
Administra 1060 0.0 0.6 98736 33944 ? Jan01 00:49 QQExternal.exe
1064 0.0 0.2 7556 10620 ? Jan01 03:03 svchost.exe
1124 0.0 0.1 2768 4524 ? Jan01 00:00 atieclxx.exe
1136 0.0 ? 1612 1484 ? Jan01 00:00 IMEDICTUPDATE.EXE
1208 0.0 0.4 27944 26804 ? Jan01 06:29 svchost.exe
1340 0.0 0.2 144172 12580 ? Jan01 19:20 sqlservr.exe
1412 0.0 0.1 6792 8664 ? Jan01 00:03 spoolsv.exe
1448 0.0 0.3 9676 16436 ? Jan01 00:37 svchost.exe
1504 0.0 0.2 10884 12756 ? Jan01 00:33 svchost.exe
Administra 1524 0.0 0.2 11016 10572 ? Jan01 00:13 QQProtect.exe
Administra 1644 0.0 0.1 2628 3988 ? Jan01 00:00 taskeng.exe
Administra 1660 0.0 0.1 4284 3752 ? Jan01 00:00 rundll32.exe
Administra 1696 0.0 0.9 41660 52284 ? Jan01 19:30 dwm.exe
Administra 1736 0.0 0.6 45340 38496 ? Jan01 00:09 360se.exe
Administra 1760 0.0 ? 10964 1188 ? Jan01 03:44 GooglePinyinDaemon.exe
Administra 1784 0.0 1.6 101440 99904 ? Jan01 04:51 explorer.exe
1884 0.0 0.1 6192 8124 ? Jan01 19:21 AlipaySecSvc.exe
1912 0.0 0.4 47028 21968 ? Jan01 05:25 svchost.exe
1960 0.0 0.2 16520 14060 ? Jan01 00:21 DTLService.exe
2024 0.0 0.2 10096 13324 ? Jan01 00:02 IcbcDaemon_64.exe
Administra 2092 0.0 ? 1212 692 ? Jan01 00:00 GooglePinyinService.exe
Administra 2108 0.0 0.1 4780 6636 ? Jan01 00:27 WPService.exe
2156 0.0 0.1 3940 3652 ? Jan01 00:00 TenpayServer.exe
2264 0.0 ? 2196 2596 ? Jan01 00:00 sqlwriter.exe
Administra 2296 0.0 0.1 8600 5028 ? Jan01 00:00 RAVCpl64.exe
2316 0.0 ? 2204 3052 ? Jan01 00:00 svchost.exe
2444 0.0 0.1 4252 4900 ? Jan01 00:01 WLIDSVC.EXE
Administra 2480 0.0 0.2 10356 12348 ? Jan01 00:15 wandoujia_helper.exe
2512 0.0 0.3 31548 17804 ? Jan01 00:47 SearchIndexer.exe
Administra 2584 0.0 ? 1956 2384 ? Jan01 00:01 ctfmon.exe
Administra 2592 0.0 0.7 33232 39988 ? Jan01 02:48 picpick.exe
Administra 2712 0.0 0.2 8032 9828 ? Jan01 00:33 TSVNCache.exe
2756 0.0 ? 1504 1352 ? Jan01 00:00 WLIDSVCM.EXE
Administra 2988 0.0 ? 1216 1140 ? Jan01 00:00 jusched.exe
Administra 3004 0.0 0.1 5252 8444 ? Jan01 02:52 RenRenService.exe
Administra 3268 0.0 0.1 40984 4996 ? Jan01 00:02 MOM.exe
3580 0.0 0.2 6280 9724 ? Jan01 00:06 OSPPSVC.EXE
Administra 3808 0.0 0.1 112036 6108 ? Jan01 00:44 CCC.exe
Administra 4008 0.0 0.1 4072 4840 ? Jan01 00:02 WordBook.exe
Administra 4120 0.0 ? 2616 2616 ? Jan01 00:06 wandoujia_daemon.exe
4284 0.0 0.1 2528 3476 ? Jan01 00:16 svchost.exe
Administra 4436 0.0 3.1 272020 190740 ? Jan01 23:57 QQ.exe
Administra 5040 0.0 0.2 7404 9336 ? Jan01 17:43 Alipaybsm.exe
Administra 5060 0.0 ? 2104 2452 ? Jan01 00:00 conhost.exe
Administra 5412 0.0 1.4 88396 83880 ? Jan01 00:34 360se.exe
Administra 5488 0.0 ? 1492 1620 ? Jan01 00:00 TXPlatform.exe
Administra 5520 0.0 0.2 11376 12816 ? Jan01 00:01 BFVDesktop.exe
5696 0.0 ? 1392 1280 ? Jan01 00:00 svchost.exe
5888 0.0 0.1 27820 7984 ? Jan01 00:00 PresentationFontCache.exe
Administra 7416 0.0 0.5 38564 28756 ? Jan01 00:02 360se.exe
Administra 7656 0.0 ? 15656 1936 ? Jan01 00:23 360seNotify.exe
Administra 8432 0.0 2.8 174100 170100 ? Jan01 05:17 xntalk.exe
Administra 9628 0.0 0.9 58392 56696 ? Jan01 44:49 360se.exe
Administra 9712 0.0 0.6 57184 38136 ? Jan01 00:14 360se.exe
Administra 10072 0.0 0.7 50592 45444 ? Jan01 00:44 360se.exe
Administra 15508 0.0 1.4 83116 83504 ? Jan01 00:53 360se.exe
Administra 17132 0.0 0.7 55712 42712 ? Jan01 00:19 explorer.exe
19368 0.0 ? 3300 2736 ? Jan01 00:02 SearchProtocolHost.exe
Administra 21096 0.0 0.5 34800 32656 ? Jan01 00:12 explorer.exe
Administra 22808 0.0 0.2 7456 11080 ? 17:52 00:06 python.exe
23604 0.0 0.3 20416 19920 ? 16:46 00:16 audiodg.exe
Administra 24396 0.0 0.1 5452 4640 ? Jan01 00:02 SogouCloud.exe
Administra 24472 0.0 0.6 26668 37268 ? 02:28 03:34 ThunderPlatform.exe
Administra 25272 0.0 0.5 23196 32928 ? 15:00 05:00 AlipaySafeTran.exe
SYSTEM 26680 0.0 ? 3308 2980 ? 00:17 00:00 SearchFilterHost.exe
Administra 29020 0.0 0.7 39320 45516 ? 02:16 00:07 360se.exe
Administra 31976 0.0 1.6 81512 98160 ? 02:28 09:27 Thunder.exe
Administra 32380 0.0 1.4 75472 85876 ? 14:39 02:10 360se.exe
Administra 32516 0.0 0.5 28212 31000 ? 16:47 00:00 360se.exe
Administra 32544 0.0 0.5 31912 33572 ? 14:55 00:03 360se.exe
Administra 34056 0.0 0.6 60452 37664 ? 02:08 07:40 QQExternal.exe
Administra 35712 0.0 0.8 12776 52096 ? 16:25 00:05 rrbrowser.exe
Administra 35852 0.0 2.7 115688 164640 ? 16:50 01:19 WindowsLiveWriter.exe
Administra 36392 0.0 0.1 2284 6900 ? 17:29 00:01 conhost.exe
Administra 36484 0.0 0.4 20220 23300 ? 16:47 00:05 360se.exe
Administra 37236 0.0 0.6 29856 33916 ? 16:59 00:03 360se.exe
Administra 37256 0.0 0.5 17056 29612 ? 17:18 01:05 notepad++.exe
Administra 37336 0.0 0.3 11344 18764 ? 17:52 00:01 PinyinUp.exe
Administra 37348 0.0 0.5 30344 33576 ? 16:59 00:02 360se.exe
Administra 37540 0.0 0.1 4972 8968 ? 16:54 00:00 rundll32.exe
Administra 38072 0.0 0.1 2920 6796 ? 17:29 00:00 cmd.exe
Administra 38304 0.0 0.2 4008 13268 ? 17:23 01:21 taskmgr.exe
Administra 38820 0.0 0.7 24468 41916 ? 17:16 00:02 explorer.exe
None
E:\Dev_Root\python\try_psutil>
E:\Dev_Root\python\try_psutil>
|
另外的,关于相关的其函数,比如kill,都可以参考官网的解释:
http://code.google.com/p/psutil/wiki/Documentation
比如:
总结
psutil,效果还是很不错的。