Tuer un processus et attendre la fin du processus
Lorsque je démarre mon serveur tcp à partir de mon script bash, j'ai besoin de tuer l'instance précédente (qui peut encore être à l'écoute sur le même port) juste avant l'instance actuelle commence à écouter.
Je pourrais utiliser quelque chose comme pkill <previous_pid>
. Si je comprends bien, c'est juste envoie SIGTERM
à la cible pid. Lorsque pkill
retourne, le processus cible peut-être encore en vie. Est-il un moyen de laisser pkill
attendre jusqu'à la sortie?
source d'informationauteur woodings
Vous devez vous connecter pour publier un commentaire.
Pas. Ce que vous pouvez faire est d'écrire une boucle avec
kill -0 $PID
. Si cet appel échoue ($? -ne 0
), le processus s'est terminé:(bravo à qbolec pour le code)
Connexes:
Utilisation
wait
(bash builtin) pour attendre la fin du processus: