Si j'exécute un script qui démarre plusieurs processus avec le Comment puis-je les fermer tout en bas? P> p> & code> comme
4 Réponses :
killall queue code> devrait faire le tour, mais il fermera également tout autre processus de queue que vous utilisez. p>
Vous pouvez tuer toutes les commandes de la queue par
killall queue code> p>
C'est la réponse que j'espérais!
C'est ça. Simple et facile.
"N'oubliez pas" les enfants PIDS.
tail -f logfile1 & pid1=$! tail -f logfile2 & pid2=$! kill $pid1 $pid2
Vous pouvez vous référer à des travaux d'arrière-plan dans votre shell actuel avec le à ma connaissance il n'y a rien de tel comme une prise tout; il n'y a pas de mais vous pouvez raccourcis avec p> qui tuerait les huit premiers procédés de référence toujours en cours d'exécution dans votre shell actuel. Qui peut ne pas être une queue soyez prudent que vous tuez; -) p> Si vous avez le contrôle total des processus d'arrière-plan. Un pari sûr pour vous. Depuis que vous mentionnez que vous souhaitez le faire à partir d'un script shell, et si la queue % 1 code>,
% 2 code>, ... idiomes.
% * code> ou un équivalent. p>
code>. P>
code> s sont les seuls processus d'arrière-plan, cela est simple. Assurez-vous simplement que votre script Shell commence un sous-riche, de sorte qu'il n'affecte jamais les processus d'arrière-plan d'une coque interactive. Par exemple, vous pouvez démarrer votre script avec P>
#!/usr/bin/bash