我有一个在远程机器上运行的程序,它希望从父级接收 SIGINT。该程序需要接收该信号才能正常运行。不幸的是,如果我通过 SSH 远程运行该进程并发送 SIGINT,则 ssh 进程本身会捕获和中断而不是转发信号。
以下是使用 GDB 的此行为示例:
本地运行:
$gdb GNU gdb 6.3.50-20050815(Apple 版本 gdb-1344)(2009 年 7 月 3 日星期五 01:19:56 UTC) ... 此 GDB 配置为“x86_64-apple-darwin”。 ^C (gdb) 退出 ^C (gdb) 退出 ^C (gdb) 退出
远程运行:
$ ssh foo.bar.com gdb GNU gdb 红帽 Linux (6.3.0.0-1.159.el4rh) ... 这个 GDB 被配置为“i386-redhat-linux-gnu”。 (gdb) ^C 被信号2杀死。 $
任何人都可以提出解决这个问题的方法吗?本地 ssh 客户端是 OpenSSH_5.2p1。