Exemples d'utilisation de la fonction sysctlbyname ()
Par olivier le samedi 7 juin 2014, 19:13 - Programmation - #
Dans ce billet, nous allons voir comment afficher certaines informations obtenues avec la fonction sysctlbyname(3).
Exemple n°1
/sbin/sysctl vfs.usermount vfs.usermount: 1
En C, on peut écrire un programme relativement simple (sysctl-01.c
), qui va afficher uniquement le résultat.
gcc sysct-01.c -o sysctl-01 -Wall -W -lc ./sysctl-01 1
Exemple n°2
Si l'on souhaite afficher une chaîne de caractères.
/sbin/sysctl kern.ostype kern.ostype: FreeBSD
Avec le programme sysctl-02.c
, on procède de la manière suivante :
gcc sysct-02.c -o sysctl-02 -Wall -W -lc ./sysctl-02 FreeBSD
Exemple n°3
Maintenant, si plusieurs valeurs doivent être affichées.
/sbin/sysctl hw.acpi.supported_sleep_state hw.acpi.supported_sleep_state: S3 S4 S5
Le programme sysctl-03.c
affiche ces informations de cette manière :
gcc sysct-03.c -o sysctl-03 -Wall -W -lc ./sysctl-03 S3 S4 S5
Exemple n°4
Au lieu d'avoir une chaîne de caractères, on a une série d'entiers.
/sbin/sysctl kern.cp_times kern.cp_times: 889624 1836 116735 3507 4424229
Le programme sysctl-04.c
affiche tout ceci, de cette façon :
gcc sysct-04.c -o sysctl-04 -Wall -W -lc ./sysctl-04 Values: 889624 1836 116735 3507 4424229 Max: 4424229
Voilà, on peut désormais s'inspirer de ces exemples, pour apporter des patches aux programmes trop orientés Linux.