Dan, thanks a lot. I'll have a look at it.


-----Mensaje original-----
[mailto:[EMAIL PROTECTED] nombre de Dan Nelson
Enviado el: miércoles, 07 de febrero de 2007 17:47
Para: Aitor San Juan
CC: freebsd-questions@freebsd.org
Asunto: Re: Trapping signal from shell script... doesn't seem to work?

In the last episode (Feb 07), Aitor San Juan said:
> I have written a Bourne shell script. This shell script invokes a
> program written in the C language.
> Below is basically the shell script source code. As you can see, the
> C program is not invoked in the background, but in the foreground, so
> the shell script doesn't finish until the C program has finished.
> I want the shell script to trap TERM or INT signals, so when any of
> these are raised, the shell script will try to send SIGTERM to the
> program "myprog":

Since you didn't background "myprog", the shell can't do anything until
it returns, including signal processing.  See the text at


There's a nice page about trap handling and shells at


, which includes an example that does what you want:

 #! /bin/sh
     kill $pid

 trap onint SIGINT
 ./hardguy &
 wait $pid
        Dan Nelson

************ LEGEZKO OHARRA / AVISO LEGAL / LEGAL ADVICE ************* 
Mezu honek isilpeko informazioa gorde dezake, edo jabea duena, edota legez 
babestuta dagoena. Zuri zuzendua ez bada, bidali duenari esan eta ezabatu, 
inori berbidali edo gorde gabe, legeak debekatzen duelako mezuak erabiltzea 
baimenik gabe. 
Este mensaje puede contener información confidencial, en propiedad o legalmente 
protegida. Si usted no es el destinatario, le rogamos lo comunique al remitente 
y proceda a borrarlo, sin reenviarlo ni conservarlo, ya que su uso no 
autorizado está prohibido legalmente.
This message may contain confidential, proprietary or legally privileged 
information. If you are not the intended recipient of this message, please 
notify it to the sender and delete without resending or backing it, as it is 
legally prohibited.
freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to