Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/07/2011, 08h50   #1
Invité de passage
 
Inscription : avril 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 8
Points : 1
Points : 1
Par défaut killer les process d'un utilisateur ?

Bonjour.

J'ai besoin de réaliser un script shell (lancé par un cron) qui doit vérifier toutes les 10 min si des process appartenant à l'utilisateur 'toto' tournent depuis plus de 5 min et si c'est le cas les tuer.

J'ai envisager de commencer par utiliser une suite de commandes pipées en commençant par 'top' mais elle semble générer des caractères non affichables en début de chaque ligne

Code :
top -n1 -u toto | grep toto | sed ....
mais n'y a t il pas de commandes plus simples pour identifier des process appartenant à un utilisateur donné et savoir depuis combien de min ils tournent puis les killer ?

Merci
boufon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/07/2011, 11h57   #2
Membre du Club
 
Avatar de aysheaia
 
E L
Inscription : juin 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : E L
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 19
Points : 62
Points : 62
Plus simple, non, mais ça devrait marcher (modulo l'éventuelle suppression de processus parent avant des processus fils) :
Code :
1
2
 
ps -U toto -u toto -o pid,etime | awk ' { split($2,d,":"); if (length(d) == 3) { ds=d[1]*3600+d[2]*60+d[3]; } else { ds=d[1]*60+d[2] } ; if (ds >= 300) { system("kill -9 "$1); } } '
aysheaia est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 25/07/2011, 00h01   #3
Invité de passage
 
Inscription : avril 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 8
Points : 1
Points : 1
Citation:
Envoyé par aysheaia Voir le message
Plus simple, non, mais ça devrait marcher (modulo l'éventuelle suppression de processus parent avant des processus fils) :
Code :
1
2
 
ps -U toto -u toto -o pid,etime | awk ' { split($2,d,":"); if (length(d) == 3) { ds=d[1]*3600+d[2]*60+d[3]; } else { ds=d[1]*60+d[2] } ; if (ds >= 300) { system("kill -9 "$1); } } '
merci, c'est parfait. J'aurais écris quelque chose de bien plus compliqué. merci encore
boufon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h48.


 
 
 
 
Partenaires

Hébergement Web