親からSIGINTを受信することを期待しているリモートマシンで実行されているプログラムがあります。そのプログラムが正しく機能するには、その信号を受信する必要があります。残念ながら、そのプロセスをSSH経由でリモートで実行し、SIGINTを送信すると、sshプロセス自体がシグナルを転送するのではなく、トラップして割り込みます。
GDBを使用したこの動作の例を次に示します。
ローカルで実行:
$ gdb GNU gdb 6.3.50-20050815(Appleバージョンgdb-1344)(Fri Jul 3 01:19:56 UTC 2009) ..。 このGDBは「x86_64-apple-darwin」として構成されました。 ^ C (gdb)終了 ^ C (gdb)終了 ^ C (gdb)終了
リモートで実行する:
$ ssh foo.bar.com gdb GNU gdb Red Hat Linux(6.3.0.0-1.159.el4rh) ..。 このGDBは「i386-redhat-linux-gnu」として構成されました。 (gdb)^ C 信号2によって殺されました。 $
誰かがこの問題を回避する方法を提案できますか?ローカルsshクライアントはOpenSSH_5.2p1です。