【发布时间】:2018-08-08 10:32:40
【问题描述】:
我尝试使用 Subprocess python 模块解析我的计算机(Debian OS)中正在运行的程序。这是我的代码:
import subprocess
cmd = "ps -A" # Unix command to get running processes
runningprox = subprocess.check_output(cmd) #returns output as byte string
rpstring = runningprox.decode("utf-8")
#converts byte string to string and puts it in a variable
print(rpstring)
但是,当我运行代码时,我收到以下错误消息:
Traceback(最近一次调用最后一次):文件“ratalert.py”,第 6 行,在 runningprox = subprocess.check_output(cmd) #returns output as byte string File "/usr/local/lib/python3.6/subprocess.py", line 336, in 检查输出 **kwargs).stdout 文件“/usr/local/lib/python3.6/subprocess.py”,第 403 行,运行中 使用 Popen(*popenargs, **kwargs) 作为进程:文件“/usr/local/lib/python3.6/subprocess.py”,第 707 行,在 init restore_signals,start_new_session)文件“/usr/local/lib/python3.6/subprocess.py”,第 1333 行,在 _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'ps -A'
我不明白为什么会收到此错误消息。考虑到 'ps -A' 既不是文件也不是目录,而只是我将变量作为字符串放入的 Unix 命令。
我该如何解决这个问题?谢谢。
【问题讨论】:
-
其实
ps是一个文件,试试/bin/ps -A -
@gogaz 刚刚尝试过,但我收到了相同的错误消息
标签: python subprocess