0
在Python中,subprocess.Popen(cmd)
可以返回一個subprocess.Popen
實例,該實例表示具有某個cmd
的進程。我想知道,是否有可能通過進程偵聽的端口或進程的PID來獲取這樣的實例?如何在Python中獲取流程實例(使用pid或偵聽端口)?
例如,是否有API如subprocess.getProcessesByPort(port)
或subprocess.getProcess(pid)
?
我明白這樣的靈活性可能會導致安全問題,如果不可能,不會感到驚訝。我之前沒有使用這個模塊,並且希望爲它尋找更多的見解。
在此先感謝!
謝謝!我剛纔檢查了這個模塊,確實能夠通過它的pid檢索一個進程。那麼是否有可能將實例轉換爲'subprocess'模塊中的實例? – zzy
我不這樣。因爲Popen的構造函數調用**一個新的進程:在POSIX上,類使用類似os.execvp()的行爲來執行子程序。在Windows上,該類使用Windows的CreateProcess()函數。請參閱[文檔](https://docs.python.org/3/library/subprocess.html#subprocess.Popen)。另一方面,psutil擁有它自己的進程抽象類:'psutil.Process',它可以提供你需要的'subprocess.Popen'功能。 –
明白這一點很有意義。非常感謝! – zzy