我想通过python获取执行ps -p $$ -oargs=
的字符串输出。
当我尝试这样做时:
subprocess.check_output("ps -p $$ -oargs=", shell=True)
我得到“ ps -p 9017 -oargs =“,但是当我直接在外壳中尝试ps -p $$ -oargs=
时,我得到“ -bash”。如何通过python获得“ -bash”?
答案 0 :(得分:0)
这完全按照您的要求进行,过滤ps
以仅使用运行它的Shell的PID来输出有关进程的信息(这就是$$
的意思)。
如果您想要有关Python会话本身的信息,则需要传递Python进程本身的PID,例如(删除shell=True
换行,因为此处$$
不需要它):
subprocess.check_output(["ps", "-p", str(os.getpid()), "-oargs="])
请确保位于文件顶部的import os
,以便您可以访问os.getpid
。