killall ne kille plus ?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

killall ne kille plus ?

Sebastien Desreux

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.
Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Étienne Mollier
Seb, au 2019-09-26 :

> 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 ?
À 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,
--
Étienne Mollier <[hidden email]>
Empreinte :   5ab1 4edf 63bb ccff 8b54  2fa9 59da 56fe fff3 882d


signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

ajh-valmer
La commande qui va bien :
# kill -9 <n° du processus>

On Thursday 26 September 2019 22:01:41 Étienne Mollier wrote:
> > ~>killall simplescreenrecorder
> > simplescreenrecorder: no process found
> > ~>killall -e simplescreenrecorder
> > simplescreenrecorder: no process found

> $ 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 ?

Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

haricophile@aranha.fr
In reply to this post by Sebastien Desreux
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 ?


Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Dominique Dumont
In reply to this post by ajh-valmer
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


Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Sebastien Desreux
In reply to this post by Étienne Mollier

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
>> ~>
>
> À 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.
Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Étienne Mollier
Bonsoir,

Seb, au 2019-09-30 :
> > À 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 !!

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,  :)
--
Étienne Mollier <[hidden email]>
Empreinte :   5ab1 4edf 63bb ccff 8b54  2fa9 59da 56fe fff3 882d



signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Sebastien Desreux

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.
Reply | Threaded
Open this post in threaded view
|

Re: killall ne kille plus ?

Eric Degenetais
Le mar. 1 oct. 2019 à 11:36, Seb <[hidden email]> 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