Manip simple du shell
neolistic
Messages postés
93
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour linuxiens, linuxiennes!
Je voudrais connaitre un truc sur les commandes de shell:
par exemple, comment utiliser les commandes "cut", "lpstat" et "cancel" pour que en une commande je puisse annuler toute les impressions renoyées par la commande lpstat:
Il faut récupérer la premiere colonne du resultat de lpstat
puis appliquer cancel sur chaque lignes
j'avais pensé à "lpstat | cut | cancel" mais ca marche pas
En fait, comment on fait pour que l'argument de lpstat soit l'entrée standard?
De la même facon, comment tuer tous les processus qui contiennent le nom "toto"?
Merci à tous!
Je voudrais connaitre un truc sur les commandes de shell:
par exemple, comment utiliser les commandes "cut", "lpstat" et "cancel" pour que en une commande je puisse annuler toute les impressions renoyées par la commande lpstat:
Il faut récupérer la premiere colonne du resultat de lpstat
puis appliquer cancel sur chaque lignes
j'avais pensé à "lpstat | cut | cancel" mais ca marche pas
En fait, comment on fait pour que l'argument de lpstat soit l'entrée standard?
De la même facon, comment tuer tous les processus qui contiennent le nom "toto"?
Merci à tous!
A voir également:
- Manip simple du shell
- Classic shell - Télécharger - Personnalisation
- Iphone 14 simple - Guide
- Simple pdf - Télécharger - PDF
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
2 réponses
Voilà un script en Perl pour tuer les processus qui contient "toto"
En ce qui concerne l'annulation des travaux d'impression d'une destination l'option a du cancel ne te suffit pas? Voir man cancel
#! /usr/bin/perl
use warnings;
use strict;
my @toto_pid = grep { /.*/ } qx(ps -ef | grep 'toto');
foreach(@toto_pid){
my $pid=(split /\s+/,$_)[1];
system "kill", "-9","$pid"; # tuer les processus qui contient toto
}
En ce qui concerne l'annulation des travaux d'impression d'une destination l'option a du cancel ne te suffit pas? Voir man cancel
Salut,
Si le but recherché est, je cite "comment on fait pour que l'argument de lpstat soit l'entrée standard ?"
Alors essaie ça :
"do echo $i"
par :
do kill -9 $i
Si le but recherché est, je cite "comment on fait pour que l'argument de lpstat soit l'entrée standard ?"
Alors essaie ça :
for i in `lpstat | awk '{ print $1 }'`; do cancel $i ; doneEt pour les processus voilà un exemple pour afficher tous les processus de l'user "toto" :for i in `ps aux | grep ^toto | awk '{ print $2 }'`; do echo $i; done;pour tuer tous ses processus, remplace le :
"do echo $i"
par :
do kill -9 $i