我正在尝试使用进程名称来获取pid。我尝试过this解决方案。但它给了我这个错误
Traceback (most recent call last):
File "pidName.py", line 10, in <module>
getPIDs("safari")
File "pidName.py", line 4, in getPIDs
pidlist = map(int, s.check_output(["pidof", process]).split())
File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 567, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
代码是这样的:
import subprocess as s
def getPIDs(process):
try:
pidlist = map(int, s.check_output(["pidof", process]).split())
except s.CalledProcessError:
pidlist = []
print 'list of PIDs = ' + ', '.join(str(e) for e in pidlist)
if __name__ == '__main__':
getPIDs("safari")
因为,我是这些东西的新手。我无法解决这个问题。但在解决方案中它起作用。但不知怎的,它不在我的Mac上。我正在使用mac。并从终端运行python脚本。
which python
给了我这样的结果: -
/usr/local/bin/python
所以,我正在使用内置的python版本。
任何人都可以帮我解决这个问题。