J'ai un script shell je l'ai écrit qui fait les étapes suivantes dans une boucle finie:un processus tue tuer d'autres processus
Je Spawn un processus, et attendre qu'elle se termine. Si elle ne se termine pas dans les 40 secondes, j'Execute:
kill -SIGTERM pid
J'ai trouvé parfois, même en faisant la mise à mort -SIGTERM pid, le processus ne répond pas à être tué. Dans ce cas, après une 40 secondes supplémentaires d'attendre qu'il se tuer, je puis exécuter:
kill -9 pid
La plupart du temps cela suffit, et je passe à la prochaine itération de ces étapes. Le problème: Parfois, en faisant les étapes ci-dessus, je finis par avoir non seulement le processus que je voulais tuer, mais aussi le shell qui exécute la boucle de ces étapes.
QUESTION: Quelle est la cause?
que diriez-vous de montrer votre code? – ghostdog74
Ça a l'air ... Une fois j'ai dû écrire un job cron qui tuerait les requêtes MySQL toutes les minutes si elles étaient plus d'une minute. Yuck. – gahooa
Il est évident que si vous utilisez la commande Kill -9, il tue tout l'arbre de processus –