我需要找到在另一個程序中用bash腳本啓動的proc進程的pid。我使用sshpass輸入密碼,sshpass啓動ssh客戶端,並且該客戶端將sshtunnel打開到服務器。 這裏是例子:獲取子進程中的進程的Python python + bash
start_tunnel.sh
#!/bin/bash
exec sshpass -p 'passw' ssh -D :port [email protected]$server -o StrictHostKeyChecking=no -f -N
exit
和我一起subrocess.Popen
啓動:
proc = subprocess.Popen('start_tunnel.sh')
腳本啓動就好了,一般完成並返回0,我可以得到它的PID,但有可能獲取啓動的sshclient的PID?
感謝unswers傢伙,如果我這樣做,我得到sshpass PID,但它有可能得到sshclient進程的PID,由sshpass進程產生? –