SSHを介して実行されるプロセスのPIDを取得する方法

SSHを介して実行されるプロセスのPIDを取得する方法

server1とserver2という2つのサーバーがあるとしましょう。

サーバー1では、ssh root@server2 "some_command"

some_commandserver1でpidを見つける方法は?

ベストアンサー1

ssh user@server2 'echo "$$" | tee some_command.pid && exec some_command'

コードを解釈したシェルプロセスのPIDを出力し、 some_command.pidホームディレクトリのファイルにコピーを保存してuserから同じプロセス(子プロセスではない)に保存するので、同じPIDで実行されますsome_command

後でssh user@server2 'cat some_command.pid'そのPIDを取得できます(そのプロセスを実行しているプロセスがまだ存在するかどうか、some_commandそのプロセスの1つに同じPIDがあるかどうか、シェルを実行したプロセスがsome_commandまだ実行中かどうかsome_command)。

おすすめ記事