2010-09-17 66 views
0

我有一個啓動SSH會話到遠程主機和管道輸出到另一個地方的腳本,像這樣一個shell腳本:轉發信號的子進程

#!/bin/sh 
ssh [email protected] 'while true ; do get-info ; sleep 1 ; done' | awk -f parse-info.awk 

它工作正常。我在djb的daemontools的'supervise'程序下運行它。唯一的問題是關閉守護進程。如果我終止此shell腳本的進程,則ssh和awk進程將繼續作爲孤兒運行。通常我會用exec來解決這個問題,以替換監督shell進程,但這兩個進程在它們自己的子shell中運行,並且不能替換shell進程。

我想要做的是讓監督shell腳本'轉發'它接收到的任何信號到至少一個子進程,這樣我就可以打開管道並乾淨地關閉。是否有捷徑可尋?

回答

0

進程間通信。

你應該看管道等