IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

killer les process d'un utilisateur ?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre éclairé Avatar de aysheaia
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 19
    Par défaut
    Plus simple, non, mais ça devrait marcher (modulo l'éventuelle suppression de processus parent avant des processus fils) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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); } } '

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XP Pro] Restreindre les droits d'un utilisateur
    Par Cereal123 dans le forum Sécurité
    Réponses: 5
    Dernier message: 12/10/2005, 14h57
  2. Réponses: 1
    Dernier message: 30/01/2005, 11h00
  3. Lister les process avec leurs arguments
    Par jamfr73 dans le forum MFC
    Réponses: 5
    Dernier message: 23/12/2004, 10h54
  4. Delphi - récupérer les infos d'un utilisateur
    Par jlf dans le forum Débuter
    Réponses: 2
    Dernier message: 26/06/2004, 11h34
  5. Purger les droits d'un utilisateur
    Par Pari dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2004, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo