OVH Cloud OVH Cloud

Showstat

12 réponses
Avatar
manuel
Je suis abonné ADSL Cegetel avec un modem USB Fast800.

En Mandrake 9.1 la commande Showstat me donnait différents
renseignements dont l'atténuation.
En Mandrake 10.0 la commande Showstat a disparu.

Existe-il une commande équivalente?

2 réponses

1 2
Avatar
l'indien
On Wed, 19 Jan 2005 00:18:57 +0000, Nicolas George wrote:

Jérémy JUST wrote in message
:
Ah? Quel hack peut être utilisé?


Originalement, il me semble, cd était un binaire externe qui allait
tripatouiller dans les structures de données du noyau pour changer le
répertoire courant de son processus père. Une horreur. Mais c'était l'époque
où mkdir allait taper directement dans le filesystem et autres joyeusetés du
même genre.

Plus récemment, j'ai écrit pour faire joujou un programme externe cd qui
utilise ptrace (donc non-portable, exclusivement Linux/x86) pour forcer son
père à changer de répertoire courant.


Deux remarques:
- ptrace est fait pour tracer un processus fils. S'en servir pour accéder
au père est un contresens.
- ptrace est disponible sur toutes les architectures. Donc, en l'utilisant
judicieusement, on peut faire des programmes tout à fait portables et
même qui marchent sur d'autres Unix que Linux.

À vrai dire, je ne comprends pas l'intérêt du programme « cd »



A l'origine, à pouvoir faire:
execve("/bin/cd", args, env);
dans un programme, rien de plus.

[...]


Avatar
Nicolas George
l'indien wrote in message :
- ptrace est fait pour tracer un processus fils. S'en servir pour accéder
au père est un contresens.


ptrace est fait pour tracer n'importe quel processus. Le traçage d'un
processus fils est à certains point de vue plus facile, et surtout plus
fiable au moment de l'attachement, ce qui justifie un traitement de faveur
dans ptrace, mais génériquement, n'importe quel processus peut être tracé, y
compris le processus père.

- ptrace est disponible sur toutes les architectures. Donc, en l'utilisant
judicieusement, on peut faire des programmes tout à fait portables et
même qui marchent sur d'autres Unix que Linux.


Le seul moyen fiable de faire ce que j'ai fait est de provoquer un appel
système, or l'ABI du noyau dépend complètement de l'architecture : il faut
mettre des arguments dans des registres, etc.

1 2