У меня есть программа, работающая на удаленной машине, которая ожидает получения SIGINT от родителя. Эта программа должна получить этот сигнал для правильной работы. К сожалению, если я запускаю этот процесс удаленно через SSH и отправляю SIGINT, сам процесс ssh перехватывает и прерывает, а не передает сигнал.
Вот пример такого поведения с использованием GDB:
Работает локально:
$ gdb
GNU gdb 6.3.50-20050815 (Apple version gdb-1344) (Fri Jul 3 01:19:56 UTC 2009)
...
This GDB was configured as "x86_64-apple-darwin".
^C
(gdb) Quit
^C
(gdb) Quit
^C
(gdb) Quit
Удаленно работает:
$ ssh foo.bar.com gdb
GNU gdb Red Hat Linux (6.3.0.0-1.159.el4rh)
...
This GDB was configured as "i386-redhat-linux-gnu".
(gdb) ^C
Killed by signal 2.
$
Кто-нибудь может предложить способ обойти эту проблему? Локальный клиент ssh - OpenSSH_5.2p1.