系统进程与线程关系以及使用Python获取的方法
来源:互联网 发布:osi模型网络层相关 编辑:程序博客网 时间:2024/06/06 00:35
以前一直把两个概念混为一谈,其实,两者之间还是有很大的差异。进程确切来说是一个程序,一个程序需要有自己独立的内存等信息,而线程则是在这些框定下能够独立执行的程序单元。这样,一个进程的话至少会有一个线程。
修改一份之前写过的代码如下:
1 #!/usr/bin/python
2
3 import psutil
4
5 pids = psutil.pids()
6 for pid in pids:
7 p = psutil.Process(pid)
8 print("pid-%d,pname-%s.Thread number:%d" %(pid,p.name(),p.num_threads()))
9 print("number of PIDs: %d" %len(pids))
程序执行结果:
GreydeMac-mini:01_系统基础信息模块详解 greyzhang$ sudo python pid.py
Password:
pid-600,pname-Python.Thread number:1
pid-598,pname-sudo.Thread number:4
pid-597,pname-AddressBookSourceSync.Thread number:5
pid-584,pname-mdworker.Thread number:5
pid-570,pname-CVMCompiler.Thread number:2
pid-562,pname-bash.Thread number:1
pid-563,pname-com.apple.audio.SandboxHelper.Thread number:2
省略部分信息
pid-47,pname-configd.Thread number:8
pid-46,pname-appleeventsd.Thread number:2
pid-43,pname-mediaremoted.Thread number:2
pid-41,pname-fseventsd.Thread number:8
pid-40,pname-kextd.Thread number:2
pid-39,pname-uninstalld.Thread number:3
pid-37,pname-syslogd.Thread number:5
pid-36,pname-UserEventAgent.Thread number:2
pid-1,pname-launchd.Thread number:5
number of PIDs: 253
在Mac中,有些进程的线程获取还需要管理员的权限。如果没有管理员权限可能会遇到运行异常,比如下面的异常信息:
GreydeMac-mini:01_系统基础信息模块详解 greyzhang$ python pid.py
pid-592,pname-Python.Thread number:1
pid-587,pname-AddressBookSourceSync.Thread number:5
pid-584,pname-mdworker.Thread number:5
Traceback (most recent call last):
File "pid.py", line 8, in <module>
print("pid-%d,pname-%s.Thread number:%d" %(pid,p.name(),p.num_threads()))
File "/Library/Python/2.7/site-packages/psutil/__init__.py", line 890, in num_threads
return self._proc.num_threads()
File "/Library/Python/2.7/site-packages/psutil/_psosx.py", line 306, in wrapper
raise AccessDenied(self.pid, self._name)
psutil.AccessDenied: psutil.AccessDenied (pid=570, name=‘CVMCompiler')
- 系统进程与线程关系以及使用Python获取的方法
- 使用python获取系统所有进程PID以及进程名称
- 进程与线程的关系
- 进程与线程的关系
- 线程与进程的关系
- 线程与进程的关系
- “进程”与“线程”的关系
- 进程与线程的关系
- 进程与线程的关系
- 进程与线程的关系
- 进程与线程的关系
- 进程与线程的关系
- 进程和线程的关系以及区别
- 进程与线程的关系与区别
- 线程与进程的关系与区别
- 进程与线程的关系与区别
- 进程与线程的关系与区别
- 进程与线程的区别与关系
- RAR 命令行语法
- 回文字符串
- 【转】如何建立自己的知识体系?
- 牛人写的设计游戏服务器
- lintcode(136)分割回文串
- 系统进程与线程关系以及使用Python获取的方法
- U盘安装ubuntu 16.04 遇到 gfxboot.c32:not a COM32R image boot 的解决方法
- 解决WebBrowser控件打开本地页面报安全提示的问题
- eclipse出现小红叉,却又找不到 哪个文件错误
- lintcode(178)图是否是树
- HBase配置web界面
- HDU 2258 Continuous Same Game (1) (dfs+模拟)
- access与mssql通用写法总结
- SpringMVC日期类型转换问题二大处理方法