向子进程转发信号

时间:2010-09-17 15:55:58

标签: unix signals

我有一个shell脚本,它启动到远程主机的ssh会话,并将输出传递给另一个本地脚本,如下所示:

#!/bin/sh
ssh user@host 'while true ; do get-info ; sleep 1 ; done' | awk -f parse-info.awk

工作正常。我在djb的daemontools的'supervise'程序下运行它。唯一的问题是关闭守护进程。如果我终止此shell脚本的进程,则ssh和awk进程将继续作为孤立运行。通常我会用exec来解决这个问题以替换监督shell进程,但是这两个进程在它们自己的子shell中运行,并且不能替换shell进程。

我想要做的是让监督shell脚本“转发”它收到的至少一个子进程的任何信号,以便我可以打破管道并干净地关闭。有一个简单的方法吗?

1 个答案:

答案 0 :(得分:0)

进程间通信。

你应该看管道等。