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

Linux Discussion :

Killer des processus


Sujet :

Linux

  1. #1
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut Killer des processus
    Bonsoir,

    j'aimerai écrire un script shell qui me permette de tuer les processus de l'utilisateur et qui n'utilisent pas le terminal courant.

    j'ai donc ceci, qui me récupère les PID des processus que je voudrai tuer sauf que je ne sais pas comment faire pour y glisser un kill... J'ai pensé enregistrer ma liste de PID dans un fichier mais comment le parcourir ligne par ligne ensuite ?
    Y a-t-il une méthode plus simple ?

    merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ps -ef | grep -v "pts/0" | grep $LOGNAME | awk '{ 
    print $2
    }' > temp
    This is NOT my boyfriend's computer.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    le print de awk 'affiche' un le pid .. donc | kill
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Je ne suis pas trop sûr, mais je crois que tu pourrais largement simplifier à l'aide de pgrep et surtout pkill
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par MarcG
    le print de awk 'affiche' un le pid .. donc | kill
    En fait, kill ne prend pas la donnée sur l'entrée standard mais comme paramètre en ligne de commande donc la syntaxe serait plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    kill `ps -ef | grep -v "pts/0" | grep $LOGNAME | awk '{ print $2 }'`
    Jc

  5. #5
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Ah oui voilà c'est ça ! Car je cherchais aussi à rebalancer la sortie sur l'entrée de kill avec un pipe mais la commande n'accepte pas ce genre de syntaxe.
    En fait les `` récupère la valeur de ce qu'on met à l'intérieur ?

    merci
    This is NOT my boyfriend's computer.

  6. #6
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Marrant quand même, pkill fait tout ça en une seule commande.
    Allez hop, je m'en vais réinventer la roue moi ...
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par ggnore
    Marrant quand même, pkill fait tout ça en une seule commande.
    Allez hop, je m'en vais réinventer la roue moi ...
    J'ai voulu te faire plaisir en donnant la commande pgrep (pour juste afficher les processus) mais il faut

    les processus de l'utilisateur et qui n'utilisent pas le terminal courant.
    Donc on aurait une tendance à faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pgrep -v -u `whoami` -t pts/0
    Sauf que lorsque je fais cela je récupère les processus qui ne sont pas à moi ou qui ne sont pas de ce terminal (genre, on récupère le processus init).

    Alors, à part dire que kill ne pourra pas tuer les processus d'autres utilisateurs mais alors si on est root...

    Donc en fait, la solution grep me semble la seule possible...

    J'avoue n'avoir pas regardé à fond la page man de pgrep mais bon...

    Jc

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

Discussions similaires

  1. [C#] Configuration du niveau de priorite des processus
    Par stephdiplo150 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/04/2007, 23h29
  2. [VB.NET] Killer un processus
    Par spikelille dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/07/2004, 19h23
  3. lancer des processus
    Par dylan dans le forum Général Python
    Réponses: 2
    Dernier message: 10/06/2004, 14h02
  4. [langage] fonctionnement des Processus
    Par GMI3 dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2003, 11h12
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

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