Article View: es.comp.os.linux.programacion
Article #13927Re: Hacer qeu dos procesos se esperen, mientras otros se ejecutan.
From: J.A. Gutierrez
Date: Wed, 03 Jan 2001 09:54
Date: Wed, 03 Jan 2001 09:54
82 lines
2856 bytes
2856 bytes
Han Solo <hsolo@escomposlinux.org> wrote:
: -----BEGIN PGP SIGNED MESSAGE-----
: Hash: SHA1
: Hola a todos. Tengo una dudilla de bash. Tengo el siguiente fichero,
: en /etc/ppp/ip-up.d
: #!/bin/bash
: exec /usr/sbin/sendmail -q &
mania del exec...
$ cat mierda
#!/bin/bash
echo $$
exec sleep 10 &
wait
sleep 11 &
wait
$ pstree
| \-+- 12341 spd -ksh
| \-+- 12613 spd /bin/bash ./mierda
| \--- 12614 spd sleep 10
$ pstree
| \-+- 12341 spd -ksh
| \-+- 12613 spd /bin/bash ./mierda
| \--- 12635 spd sleep 11
Es decir, mismo resultado con y sin exec.
solo se me ocurre dos usos validos de exec en un script: para
construcciones tipo
#!/bin/sh
exec > log 2 > err
cmd1
cmd2
...
o para ejecutar el ultimo comando del script (si, p.e. el
script es un wrapper para otro programa)
: (exec /usr/sbin/baja-news -dirconf cis-dfn>/home/hsolo/noticias 2>&1 ;\
: exec /usr/sbin/baja-news -dirconf antakira>>/home/hsolo/noticias 2>&1) &
Es decir, en el subshell entre parentesis, el primer exec se
ejecuta, reemplazandolo; por lo que logicamente no queda shell
que lance el segundo comando:
exec [-cl] [-a name] [command [arguments]]
If command is specified, it replaces the shell. No new
process is created. The arguments become the arguments
Lo mismo ocurre si haces un
exec sleep 10
en el ejemplo de arriba en lugar de un
exec sleep 10 &
wait
Lo dicho: cepillate todos esos exec que no te dan ninguna ventaja
y si muchos problemas...
--
PGP and othe useless info at \ La ciencia-ficcion es
http://www.cps.unizar.es/~spd/ \ ese futuro en el que
finger://daphne.cps.unizar.es/spd \ lo seguro es que ya
ftp://ivo.cps.unizar.es/pub/ \ (F. Alfaro) no seremos jovenes
Technical Details
Message-ID:
<92uss5$dn6$1@news.unizar.es>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!news.rediris.es!news.unizar.es!not-for-mailReferences:
<87snn13ahz.fsf@alderaan.maptel.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII-7-bit
X-Google-Thread: f86c8,68e86b684738b52
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-01-03 01:46:02 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!news.rediris.es!news.unizar.es!not-for-mail
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Hacer qeu dos procesos se esperen, mientras otros se ejecutan.
Date: 3 Jan 2001 09:54:13 GMT
Organization: Rank
Lines: 82
Message-ID: <92uss5$dn6$1@news.unizar.es>
References: <87snn13ahz.fsf@alderaan.maptel.es>
NNTP-Posting-Host: daphne.cps.unizar.es
X-Trace: news.unizar.es 978515653 14054 155.210.152.20 (3 Jan 2001 09:54:13 GMT)
X-Complaints-To: usenet@news.unizar.es
NNTP-Posting-Date: 3 Jan 2001 09:54:13 GMT
User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (IRIX/6.2 (IP22))