salut,
l'exécution de la commande alias "r = su-" s'est arrêtée n'a pas abouti, suite à une probable confusion entre les touches Ctrl (touche rémanente) et Alt (Shift) lorsque j'ai entré mon mot de passe root qui comporte la lettre Z
Il va sans dire que je ne maîtrise absolument pas ces commandes qui m'ont été fournies par le net. Donc je fais une erreur d'interprétation à quelque part.
~$ ps 239693
PID TTY STAT TIME COMMAND
239693 pts/0 T 0:00 su -
mmas@asus:~$ kill %
[1]+ Stopped su -
~$ ps 239693
PID TTY STAT TIME COMMAND
[1]+ Terminated su -
~$ ps 239693
PID TTY STAT TIME COMMAND
kill est une commande qui permet d'envoyer un signal à un processus.
9 est le code du signal SIGKILL (SIGnal KILL) qui permet de forcer l'arrêt d'un processus (indépendamment de sa volonté propre). SIGKILL est un alias à 9 pour la commande kill. 9 fonctionnera toujours (enfin, tant que la commande kill existera). L'alias...
Si le processus a été lancé avec ton propre uid, kill fonctionne (ça peut éventuellement encore fonctionner si le gid correspond). Si le processus a été lancé avec un autre uid (et un autre gid), ça ne marchera pas. Si ton uid a les droits sudo, sudo kill -9 PID marchera à tous les coups. Dans ton cas, c'est toi qui avais lancé le su avec ton uid, donc, là, ça marchait.
kill -9 est très violent, je ne l'utilise qui si tout le reste ne fonctionne pas.. Je préfère commencer avec un killall
La commande kill offre d'autres possibilité moins voilentes,
piratebab a écrit : 06 mars 2026, 11:33
kill -9 est très violent, je ne l'utilise qui si tout le reste ne fonctionne pas.. Je préfère commencer avec un killall
La commande kill offre d'autres possibilité moins voilentes,
~$ r
Password:
[1]+ Stopped su -
~$ jobs -p
242472
~$ killall 242472
242472: no process found
~$ ps -e | grep 242472
242472 pts/0 00:00:00 su
~$ kill %
[1]+ Stopped su -
~$ ps -e | grep 242472
[1]+ Terminated su -
la commande "kill %" qui n'est pas mentionnée dans la page "man kill" semble plus puissante, non? Est-elle elle aussi, trop brutale?
diesel a écrit : 06 mars 2026, 11:32
kill est une commande qui permet d'envoyer un signal à un processus.
9 est le code du signal SIGKILL (SIGnal KILL) qui permet de forcer l'arrêt d'un processus (indépendamment de sa volonté propre). SIGKILL est un alias à 9 pour la commande kill. 9 fonctionnera toujours (enfin, tant que la commande kill existera). L'alias...
Si le processus a été lancé avec ton propre uid, kill fonctionne (ça peut éventuellement encore fonctionner si le gid correspond). Si le processus a été lancé avec un autre uid (et un autre gid), ça ne marchera pas. Si ton uid a les droits sudo, sudo kill -9 PID marchera à tous les coups. Dans ton cas, c'est toi qui avais lancé le su avec ton uid, donc, là, ça marchait.
....
tuer un process par son nom, il ne faut pas mettre les options.
Voici la liste de tous les signaux que tu peux envoyer à un process via kill https://www.man7.org/linux/man-pages/man7/signal.7.html
SIGTERM est moins violent que SIGKILL
piratebab a écrit : 06 mars 2026, 13:47
tuer un process par son nom, il ne faut pas mettre les options.
Voici la liste de tous les signaux que tu peux envoyer à un process via kill https://www.man7.org/linux/man-pages/man7/signal.7.html
SIGTERM est moins violent que SIGKILL
OK! Je commence à mieux comprendre ce que voulait dire diesel. En fait "kill -9" est une façon courte de faire "kill -SIGKILL" ou "kill -KILL". C'est d'ailleurs ce que dit le manuel et que je ne pigeais pas vraiment.
À propos du "pourquoi la commande "kill", commande équivalente à "kill -SIGTERM" par défaut, ne fonctionne pas dans mon cas. J''ai posé la question sur le forum US. Voici la réponse:
As a stopped process, it cannot respond to the SIGTERM signal (sent by the kill command) and the SIGTERM signal is queued.
C'est logique, si le process est déjà arreté, le SIGTERM n'a pas d'effet.
Dans ton cas, je ne vois pas l'info que le process est arreté.
Dans mes souvenir de programmeur, il me semble qu'on pouvait intercepter le signal system dans le logiciel (par EX le SIGTERM) , et ne pas en tenir compte. De mémoire, il y a une fonction signal en C qui fait ça
piratebab a écrit : 08 mars 2026, 10:33
C'est logique, si le process est déjà arreté, le SIGTERM n'a pas d'effet.
Dans ton cas, je ne vois pas l'info que le process est arreté.
...
indique bien un arrêt, ou au moins une suspension de l'exécution de la commande, non? Tout dépend du sens qu'on donne à "arrêté": arrêt définitif= Terminated ou arrêt temporaire= Stopped? Enfin c'est comme ça que je comprends, mal?, le truc.
PS "Stopped" devrait correspondre à ceci je suppose:
piratebab a écrit : 08 mars 2026, 11:05
Ha oui, j'avais pas vu. Donc on ne peux pas arrêter un process déja arretté. Ce que j'aime dans linux, c'est que c'est d'une logique sans faille :)
en fait, toutes ces interprétations erronées que j'ai faites viennent du fait que j'ai interprété la commande "kill" en la prenant au pied de la lettre= elle tue un processus. Jusqu'à présent je l'avais utilisée avec des processus "ordinaires" et ça fonctionnait, d'où une impression de la connaître. Pourtant le manuel est clair, mais ma lecture est superficielle. J'espère que cette fois je vais être vacciné pour de bon.