Dis que j'ai un pid en main, mypid=$$
existe-t-il une commande bash / system que je peux utiliser pour écouter la sortie de ce processus avec le pid donné?
Si aucun processus avec mypid n'existe, je suppose que la commande devrait simplement échouer.
bash
shell-script
process
proc
Alexander Mills
la source
la source
wait
du shell ou de lawait()
fonction de bibliothèque C. Il n'y a pas d'AFAIK d'attente standard pour un processus non enfant. Il n'est pas clair non plus si la fonction C # peut le faire (cela dépend de ce qu'est un "processus associé").Réponses:
J'ai obtenu ce dont j'avais besoin de cette réponse: /programming//a/41613532/1223975
..turns using
wait <pid>
ne fonctionnera que si ce pid est un processus enfant du processus en cours .Cependant, ce qui suit fonctionnera pour n'importe quel processus:
Attendre la fin de tout processus
Linux:
Darwin (nécessite d'
$pid
avoir des fichiers ouverts):Avec timeout (secondes)
Linux:
Darwin (nécessite d'
$pid
avoir des fichiers ouverts):la source
Vous pouvez utiliser la commande bash intégrée
wait
:Il utilise l'appel système
waitpid()
..la source
bash: wait: pid 47760 is not a child of this shell
... retour à la planche à dessin lol