Je développe une application et j'aimerais qu'elle imprime à la demande des statistiques d'exécution sur la console. kill
et des signaux me sont venus immédiatement à l’esprit.
La lecture des signaux Unix sur Wiki SIGINFO
semble être la voie à suivre car:
- Il est destiné à ces fins
- N'arrête pas le processus si le gestionnaire de signal n'est pas implémenté (contrairement à
SIGUSRx
- voir ici )
Cependant, en inspectant la sortie de kill -l
, il semble que mon serveur ne dispose pas de ce signal.
Mes questions sont:
- Pourquoi
SIGINFO
manque- t- il sur mon système? Est-il absent sur tous les systèmes GNU Linux? - Existe-t-il un moyen simple (c'est-à-dire pas de recompilation noyau / glibc) d'activer ce signal? Sinon, quelle serait la difficulté?
- Quel signal alternatif pourrais-je utiliser à mes fins qui ne provoquerait aucun effet secondaire s'il n'était pas géré par le processus cible? (J'en suppose déjà aucun car je n'ai trouvé aucun autre signal approprié dans le manuel de la glibc )
Métainfo Linux:
Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux
Mise à jour: je suis toujours à la recherche de plus d'informations sur les raisons pour lesquelles ce signal est conditionnellement exclu d'autres systèmes que BSD (voir les commentaires ci-dessous). Le signal semble être très utile à de nombreuses fins, il est donc difficile pour moi de croire que c'est juste une question de caprice - alors quel est le véritable showstopper pour que ce signal soit disponible sur Linux?
dd
avec celui de mon Mac. ^T
pendant l' dd
exécution ne fait rien sur la machine Linux - je mettrai à jour la question en conséquence.
^T
dans la sortie destty -a
?