gratifiant > linux.debian.user.french

Seb (26/09/2019, 15h40)
Bonjour,

Le passage de Debian 9 à Debian 10 semble avoir modifié le comportement de
killall. Exemple:

~>ps auxw | grep simplescreen
seb 13630 2.3 0.7 393012 64192 pts/31 Sl+ 15:31 0:00 simplescreenrecorder

~>killall simplescreenrecorder
simplescreenrecorder: no process found

~>killall -e simplescreenrecorder
simplescreenrecorder: no process found

~>kill 13630
~>

Donc kill fait bien le boulot, mais killall ne retrouve pas la bonne
ligne. (Du coup, un script qui marchait sans problème depuis des années
est tombé en panne.) Je n'ai pas trouvé d'information dans la page de man
de killall, qui est d'ailleurs exactement la même en Debian 9 et en
Debian 10.

Sauriez-vous comment faire retomber killall en marche ?

Merci d'avance !
Seb.
Étienne Mollier (26/09/2019, 22h10)
Seb, au 2019-09-26 :
[..]
> d'information dans la page de man de killall, qui est d'ailleurs
> exactement la même en Debian 9 et en Debian 10.
> Sauriez-vous comment faire retomber killall en marche ?


À en juger par le manuel de killall(1) fournie dans Sid, à la
description de l'option -e (--exact) le comportement de la
commande devient? curieux? dès lors que le nom du processus
dépasse 15 caractères. Avec cette information en tête, les
commandes suivantes sont tombées en marche :

$ killall simplescreenrec
$ killall -e simplescreenrec

killall ne m'a pas l'air très solide à l'usage. Quand je peux,
je préfère me référer à un fichier PID dans les scripts.
Apparemment, à moins de préciser un --statsfile particulier,
simplescreenrecorder(1) va crééer par défaut un fichier
/dev/shm/simplescreenrecorder-stats-PID, si j'en croie son
manuel. Il y a peut-être moyen de travailler avec ça ?

Amicalement,
ajh-valmer (26/09/2019, 23h20)
La commande qui va bien :
# kill -9 <n° du processus>

On Thursday 26 September 2019 22:01:41 Étienne Mollier wrote:
[..]
Haricophile (27/09/2019, 00h20)
Le jeudi 26 septembre 2019 à 15:39 +0200, Seb a écrit :
> Sauriez-vous comment faire retomber killall en marche ?


Moi j'aime bien la commande pkill qui pourrait faire l'affaire, non ?
Dominique Dumont (27/09/2019, 11h10)
On Thursday, 26 September 2019 23:11:18 CEST ajh-valmer wrote:
> La commande qui va bien :
> # kill -9 <n° du processus>


L'option -9 est à utiliser en dernier recours car le process n'a pas
l'opportunité de faire le ménage avant de mourir. Il vaut mieux essayer un
kill simple avant.

HTH

Dod
Seb (30/09/2019, 12h00)
Bonjour,

> À en juger par le manuel de killall(1) fournie dans Sid, à la
> description de l'option -e (--exact) le comportement de la commande
> devient? curieux? dès lors que le nom du processus dépasse 15
> caractères. Avec cette information en tête, les commandes suivantes
> sont tombées en marche :
> $ killall simplescreenrec
> $ killall -e simplescreenrec


Aaaahh... Merci !!

> killall ne m'a pas l'air très solide à l'usage. Quand je peux, je
> préfère me référer à un fichier PID dans les scripts. Apparemment, à
> moins de préciser un --statsfile particulier, simplescreenrecorder(1) va
> crééer par défaut un fichier /dev/shm/simplescreenrecorder-stats-PID, si
> j'en croie son manuel. Il y a peut-être moyen de travailler avec ça ?


Après avoir lancé simplescreenrecorder, /dev/shm reste vide.

(Et pkill ne tue pas non plus simplescreenrecorder.)

Seb.
Étienne Mollier (30/09/2019, 21h10)
Bonsoir,

Seb, au 2019-09-30 :
> Aaaahh... Merci !!


Je vous en prie. :)

> Après avoir lancé simplescreenrecorder, /dev/shm reste vide.


Dommage, ça aurait été pratique d'avoir des fichiers PID, pour
vérifier que l'on va bien tuer ce qu'on voulait tuer. :(

> (Et pkill ne tue pas non plus simplescreenrecorder.)


À la lecture de pkill(1), la limite à 15 caractères proviendrait
de la façon dont sont obtenus les noms des processus, méthode
qui, j'imagine, devrait être similaire pour killall :

NOTES
The process name used for matching is limited to the 15
characters present in the output of /proc/pid/stat. Use
the -f option to match against the complete command
line, /proc/pid/cmdline.

En français rapide, /proc/pid/stat tronque le nom du process à
15 caractères, et l'option -f permet de basculer sur le fichier
/proc/pid/cmdline pour contrôler le nom du process à tuer. Du
coup, dans le cas qui nous intéresse, les commandes valides
deviennent :

$ pkill simplescreenrec
$ pkill -f simplescreenrecorder # Notez le nom complet.

À plus, :)
Seb (01/10/2019, 11h40)
Bonjour,

>> Après avoir lancé simplescreenrecorder, /dev/shm reste vide.

> Dommage, ça aurait été pratique d'avoir des fichiers PID, pour vérifier
> que l'on va bien tuer ce qu'on voulait tuer. :(
>> (Et pkill ne tue pas non plus simplescreenrecorder.)

> En français rapide, /proc/pid/stat tronque le nom du process à 15


Je n'ai pas de répertoire proc/pid:

ROOT ~#ls -l /proc/pid
ls: cannot access '/proc/pid': No such file or directory

Ça fait deux occasions de récupérer un PID que je ne peux pas exploiter.
Du coup, je me demande s'il me manque un package important...

> $ pkill -f simplescreenrecorder # Notez le nom complet.


Ça marche ! Merci encore !

Seb.
Eric Degenetais (01/10/2019, 11h50)
Le mar. 1 oct. 2019 à 11:36, Seb <seb> a écrit :
> Bonjour, [...]
> > En français rapide, /proc/pid/stat tronque le nom du process à 15

> Je n'ai pas de répertoire proc/pid:

Normal, il fallait lire /proc/<pid>/stat, où <pid> est variable et
correspond au pid du process concerné.
> ROOT ~#ls -l /proc/pid
> ls: cannot access '/proc/pid': No such file or directory
> Seb.


Cordialement

Éric Dégenètais
Discussions similaires