Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

renommer un process

20 réponses
Avatar
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

10 réponses

1 2
Avatar
moi-meme
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
Avatar
moi-meme
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)
Avatar
Fabien LE LEZ
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.
Avatar
Fabien LE LEZ
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.
Avatar
Benoit Izac
Bonjour,

le 10/03/2011 à 21:03, at a écrit dans le message
<4d792e86$0$32446$ :

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
Avatar
Luc.Habert.00__arjf
Encore une méthode d'identification : pour chaque pid potentiel,

ls -l /proc/pidpotentiel/fd

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

le 10/03/2011 à 21:03, at a écrit dans le message
<4d792e86$0$32446$ :

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.
Avatar
Benoit Izac
Bonjour,

le 11/03/2011 à 09:51, at a écrit dans le message
<4d79e291$0$7716$ :

#!/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
Avatar
Luc.Habert.00__arjf
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.
Avatar
at
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.
1 2