renommer un process

Le
at
Bonsoir,

Si je lance deux fois le même process, par exemple deux fois VLC,
comment faire identifier un VLC ? Est-il possible d'attribuer un faux
nom à un process pour le reconnaître ? Car en fait je voudrais tuer
avec un kill -9 mais évidemment il faudrait pouvoir déterminer lequel
est-ce..

Merci
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
moi-meme
Le #23195181
Le Thu, 10 Mar 2011 21:03:09 +0100, at a écrit :

Bonsoir,

Si je lance deux fois le même process, par exemple deux fois VLC,
comment faire identifier un VLC ? Est-il possible d'attribuer un faux
nom à un process pour le reconnaître ? Car en fait je voudrais tuer avec
un kill -9 mais évidemment il faudrait pouvoir déterminer lequel
est-ce..

Merci



si c'est en background %1, %2, etc
kill -9 %1
moi-meme
Le #23195171
Le Thu, 10 Mar 2011 20:10:17 +0000, moi-meme a écrit :


si c'est en background %1, %2, etc
kill -9 %1



et pour les connaître jobs

(j'ai tiré un peu vite)
Fabien LE LEZ
Le #23195241
On Thu, 10 Mar 2011 21:03:09 +0100, at
Si je lance deux fois le même process, par exemple deux fois VLC,
comment faire identifier un VLC ?



Généralement, le processus le plus ancien a un PID plus faible. Ce
n'est pas garanti, mais c'est souvent un bon indicateur quand on n'a
pas mieux sous la main.

Le système assigne les PID séquentiellement ; toutefois, quand il
arrive au maximum (32768 chez moi ; cf /proc/sys/kernel/pid_max), il
revient au début.
Fabien LE LEZ
Le #23195311
On Thu, 10 Mar 2011 21:03:09 +0100, at
Est-il possible d'attribuer un faux
nom à un process pour le reconnaître ?



Tu peux créer un lien symbolique vers VLC, avec un autre nom. Comme
"ps aux" donne la ligne de commande complète, il est facile de repérer
lequel a été lancé en tant que VLC, et lequel a été lancé avec l'autre
nom.
Benoit Izac
Le #23195301
Bonjour,

le 10/03/2011 à 21:03, at
Si je lance deux fois le même process, par exemple deux fois VLC,
comment faire identifier un VLC ?



Plusieurs pistes avec ps(1) :
* le TTY
* le PPID
* les arguments

Est-il possible d'attribuer un faux nom à un process pour le
reconnaître ?



Au lancement, oui : ln -s $(command -v vlc) mon_vlc1 && ./mon_vlc1

Car en fait je voudrais tuer avec un kill -9 mais évidemment il
faudrait pouvoir déterminer lequel est-ce..



Il faudrait que tu donnes un peu plus d'informations sur la manière dont
tu le lances et pourquoi tu veux le tuer (si c'est parce qu'il utilise
tout le CPU, c'est facile à identifier).

--
Benoit Izac
Luc.Habert.00__arjf
Le #23195411
Encore une méthode d'identification : pour chaque pid potentiel,

ls -l /proc/pidpotentiel/fd

. Ça te donne les fichiers ouverts par chacun.
at
Le #23196241
Benoit Izac a présenté l'énoncé suivant :
Bonjour,

le 10/03/2011 à 21:03, at
Si je lance deux fois le même process, par exemple deux fois VLC,
comment faire identifier un VLC ?



Plusieurs pistes avec ps(1) :
* le TTY
* le PPID
* les arguments

Est-il possible d'attribuer un faux nom à un process pour le
reconnaître ?



Au lancement, oui : ln -s $(command -v vlc) mon_vlc1 && ./mon_vlc1

Car en fait je voudrais tuer avec un kill -9 mais évidemment il
faudrait pouvoir déterminer lequel est-ce..



Il faudrait que tu donnes un peu plus d'informations sur la manière dont
tu le lances et pourquoi tu veux le tuer (si c'est parce qu'il utilise
tout le CPU, c'est facile à identifier).



Merci à tous pour vos réponses, ça m'a donné de bonnes pistes, du coup
j'ai fait un script:

#!/bin/bash
pidd=`ps aux | grep $1 | awk -F " " '{ print $2}'`

kill -9 $pidd
echo $pidd
#----------------------

Donc je kill avec la commande avec un argument qui contient une partie
du nom de la commande.

Si je veux tuer la tache de cette façon c'est qu'elle est lancée avec
un cron. C'est curl qui est chargé de récupérer un flux audio que je
dois arrêter à une heure précise.
Benoit Izac
Le #23196341
Bonjour,

le 11/03/2011 à 09:51, at
#!/bin/bash
pidd=`ps aux | grep $1 | awk -F " " '{ print $2}'`



UUOG: pidd=$(ps aux | awk "/$1/"'{print $2}')

Le problème c'est que « ps aux|grep foo » risque de te donner le pid de
grep :
% ps auxwww | grep jenexistepas
benoit 23435 0.0 0.0 8416 840 pts/1 S+ 10:39 0:00 grep jenexistepas

kill -9 $pidd
echo $pidd



Ensuite, pourquoi -9 (KILL) qui est plutôt brutal au lieu que TERM ?

#!/bin/sh
pkill -TERM -f "$1"

Tu peux regarder aussi les options -n et -o de pkill(1) (d'autres aussi
sont intéressants comme l'uid, gid, term).

--
Benoit Izac
Luc.Habert.00__arjf
Le #23196451
Benoit Izac :

Le problème c'est que « ps aux|grep foo » risque de te donner le pid de
grep :



Il y a pgrep qui n'a pas ce travers. Et pkill qui combine pgrep et kill.
at
Le #23196441
Benoit Izac a exprimé avec précision :

Ensuite, pourquoi -9 (KILL) qui est plutôt brutal au lieu que TERM ?

#!/bin/sh
pkill -TERM -f "$1"



ça c'est très bien :)

Tu peux regarder aussi les options -n et -o de pkill(1) (d'autres aussi
sont intéressants comme l'uid, gid, term).




Merci.
Publicité
Poster une réponse
Anonyme