通過Python:PS -o CMD = <PID>不給同一輸出從Python的
output = os.popen("ps -o cmd=1").read()
print output
輸出:
1
/bin/bash
python myPython.pyc
sh -c ps -o cmd=1
ps -o cmd=1
但是當我從終端運行該命令將返回我想要的東西:
/sbin/init
另外,當我從python運行「ls -l」命令時,它返回正確的東西。
我的主要目的是從Python的PID中找到進程的名字。 我該怎麼辦?
我會注意這個在Python文檔的'popen'「因爲2.6版本不推薦使用:。這個函數是廢棄使用子模塊檢查特別是更換舊的功能與子模塊部分」 – 2015-02-23 16:16:05
我認爲更好的方法是打開並閱讀'/ proc/1/cmdline'。要麼或者解釋符號鏈接'/ proc/1/exe'。 – twalberg 2015-02-23 16:25:49
@IanMcLaird我也試過子過程,但它給出了相同的輸出。 – furkantokac 2015-02-23 16:37:26