私は基本的に、マシン間でプロセスを追跡する必要があることを除いて、pstree のようなコマンドを作成しようとしています。
つまり、これを実行すると:
$ ssh $node sleep 1000
次に、コマンドは次のように表示されます。
ssh $node -- ($node) sleep 1000
そして、私が実行している場合:
$ ssh $node ssh $node sleep 1000
ssh $node---($node) ssh $node---($node) sleep 1000
等々 ...
私の質問は次のとおりです。あるマシンの 1 つの ssh セッションを別のマシンの生成されたプロセスにマップするにはどうすればよいですか?
ローカルの親子プロセスは問題ではありませんが、あるノードのどの ssh コマンドが別のノードの別のプロセスをトリガーしたかを特定するにはどうすればよいでしょうか。
Linux 2.6.18
「リモート」のものにはopenSSHのみ。現在 OpenSSH_4.3p2 を実行しています。
もちろん、すべてのノードへの SSH アクセス (キーベースの認証) であるため、すべてのノードから ps と netstat を使用できます。
Linux のみの「ハック」は問題なく、移植可能である必要はありませんが、もちろん追加のボーナスになります。
ユーザーは常に同じになり、コマンド/スクリプトはそのユーザーとして実行されます。そのユーザーは root ではありません。
高速である必要はなく、正確である必要があります。
自発的な解決策は、pstree
クローンを作成することです。これは、コマンド文字列 " ssh
" でトリガーされ、ソースポートを特定し、問題のリモート マシンに移動して、sshd
この特定のコマンドによって生成された子の1 つを特定します。 .
しかし、もっと賢い方法があるのではないでしょうか? :P