[linux] Re: Hey you script, be quiet when all is well!

Johan Swenker Johan.Swenker op xs4all.nl
Ma Feb 5 19:08:33 CET 2007


Remko Bolt wrote:
> Speciaal voor de script kiddies... Uh, ik bedoel Bash experts:
> 
> Het onderstaande script geeft me wat problemen. Het werkt verder goed
> (constructieve kritiek/tips altijd welkom) alleen ik krijg het niet voor
> elkaar om het `stil' te laten zijn:
> 
> getsomething: line 62: 8309 Done { echo -e
> $line1$line2$line3$line4$line5$line6"\n\n"; }
> 8310 Hangup | openssl s_client -quiet -bugs -connect
> $host:443 >>result-$tag
> 
> Nu ben ik wat aan het uitproberen geslagen en heb gemerkt dat je of een
> Hangup of een Done krijgt. Hoe kom ik daar vanaf?
> 
Mijn cronjob had hetzelfde probleem.

De essentiele stukken zijn:

# Een of ander proces wat iets op de achtergrond doet
while true
do # doe iets nuttigs
    sleep 60
done &
REMOVER_PID=$!

# fiddel wat met de file descriptors, zodanig dat je
# stderr tijdelijk naar /dev/null kunt laten wijzen.
# bij mij bleek file descriptor 5 vrij te zijn.
exec 5> /dev/fd/2
exec 2> /dev/null
kill $REMOVER_PID
wait $REMOVER_PID
exec 2> /dev/fd/5


Groeten Johan Swenker



More information about the Linux mailing list