Digamos que tengo un pid en la mano, mypid=$$
¿hay algún comando bash / system que pueda usar para escuchar la salida de ese proceso con el pid dado?
Si no existe ningún proceso con mypid, supongo que el comando simplemente debería fallar.
bash
shell-script
process
proc
Alexander Mills
fuente
fuente
wait
en el shell o lawait()
función de biblioteca C. AFAIK no tiene una forma estándar de esperar un proceso que no sea de niños. Además, no está claro si la función C # puede hacer eso (depende de lo que sea un "proceso asociado").Respuestas:
Obtuve lo que necesitaba de esta respuesta: /programming//a/41613532/1223975
.. resulta que usar
wait <pid>
solo funcionará si ese pid es un proceso secundario del proceso actual .Sin embargo, lo siguiente funcionará para cualquier proceso:
Esperar a que termine cualquier proceso
Linux:
Darwin (requiere que
$pid
tenga archivos abiertos):Con tiempo de espera (segundos)
Linux:
Darwin (requiere que
$pid
tenga archivos abiertos):fuente
Puedes usar el bash incorporado
wait
:Utiliza la llamada al sistema
waitpid()
.fuente
bash: wait: pid 47760 is not a child of this shell
... de vuelta a la mesa de dibujo jajaja