他のプログラムでbashスクリプトで開始されたプロセスのPIDを見つける必要があります。私はsshpassを使ってパスワードを入力し、sshpassはsshクライアントを起動し、そのクライアントはsshtunnelをサーバにオープンします。 ここにある例:サブプロセスpython + bashでプロセスのpidを取得
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を取得しますか?
私がこれを行うと、私はsshpass PIDを取得しますが、sshpass proccessによって生成されたsshclient proccessのPIDを取得することは可能ですか? –