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

Remko Bolt remko op cluebox.org
Vr Feb 9 19:58:39 CET 2007


Remko Bolt wrote:
> Johan Swenker wrote:

>> exec 5> /dev/fd/2
>> exec 2> /dev/null
>> kill $REMOVER_PID
>> wait $REMOVER_PID
>> exec 2> /dev/fd/5

> Hee bedankt, werkt perfect!

Hmmm... :-|   dat was een beetje te vroeg gejuigd. Vanaf de commandline
werkt het nu, maar van cron krijg ik via de mail:

/home/remko/bin/getcarmen.sh: line 56: /dev/fd/2: Permission denied
(line 56 in getcarmen.sh is: exec 5> /dev/fd/2)

Maakt het nog uit of het rechtstreeks wordt uitgevoerd of indirect?
D.w.z. cron voert auto_send_friday.sh uit en daarin wordt getcarmen.sh
als volgd aangeroepen:

if $BIN_DIR/getcarmen.sh $login:$passwd >roster-$tag; then

Of betekend dit gewoon dat fd/5 bezet is? Ja dus, zat net even te
bladeren in de abs-guide. Onderaan bij de notes staat:

Using file descriptor 5 might cause problems. When Bash creates a child
process, as with exec, the child inherits fd 5 (see Chet Ramey's
archived e-mail,  SUBJECT: RE: File descriptor 5 is held open). Best
leave this particular fd alone.

9 lijkt mij dan de veiligste.




More information about the Linux mailing list