2010-10-07 28 views
0

J'utilise Cygwin pour démarrer certains serveurs.Tuer tous les processus lancés à l'intérieur d'un xterm lors de la sortie

Chaque serveur est lancé dans un xterm avec un tas de commande comme celui-ci:
xterm -e $my_cmd /C &

est-il un moyen facile de tuer tous les enfants lancés (xterm et leurs commandes en cours d'exécution) dans une rangée?

Je veux également être capable de tuer une commande lancée particulière lorsque je ferme son xterm parent.

Quelqu'un sait comment effectuer cela?

Répondre

0

killall xterm? Cette commande se trouve dans le package psmisc. Xterm notifiera son processus fils avec un SIGHUP ("raccrocher") avant qu'il ne se termine. Normalement, cela entraînera la sortie du processus fils, bien que certains serveurs interprètent ce signal différemment.

+0

killall xterm est trop violent: cela tue tout autre xterm qui devrait être laissé seul. Et les processus enfants ne sont pas tués ... – Guillaume

+0

Dans ce cas, je suppose que vous aurez besoin d'écrire un script qui passe en revue '/ proc' pour trouver les processus appropriés à tuer. – ak2

+0

Oh, et vous avez demandé "Y at-il un moyen facile de tuer * tout * xterm lancé". – ak2