在Python2和3上工作(唯一的区别(2to 3)是异常树,因此是“except i on”,我不喜欢它,但为了保持兼容性。也可以创建自定义异常。)
#!/usr/bin/env python
import os
import sys
for dirname in os.listdir('/proc'):
if dirname == 'curproc':
continue
try:
with open('/proc/{}/cmdline'.format(dirname), mode='rb') as fd:
content = fd.read().decode().split('\x00')
except Exception:
continue
for i in sys.argv[1:]:
if i in content[0]:
print('{0:<12} : {1}'.format(dirname, ' '.join(content)))
可以使用
pidof
到subprocess.check_output按名称获取进程的pid:check_output(["pidof",name])
将作为"pidof process_name"
,运行命令,如果返回代码为非零,则会引发调用的进程错误。要处理多个条目并转换为int,请执行以下操作:
在[21]中:获取pid(“chrome”)
或者通过
-s
标志获取单个pid:对于posix(Linux、BSD等)。。。只需要挂载/proc目录)在/proc中使用操作系统文件更容易。 它的纯python,不需要在外部调用shell程序。
在Python2和3上工作(唯一的区别(2to 3)是异常树,因此是“except i on”,我不喜欢它,但为了保持兼容性。也可以创建自定义异常。)
示例输出(其工作方式类似于pgrep):
您还可以使用
pgrep
,在prgep
中,您还可以提供匹配的模式您还可以对这样的ps使用
awk
相关问题 更多 >
编程相关推荐