Fan de casse-têtes, puzzles, et autres trucs énervants,
Ceci est pour toi.
Soit une Debian 9.5. Soit un script bash qui est lancé par crontab 1440 fois par jour.
Dans la crontab, le script est lancé ainsi:
*/1 * * * * script >&/dev/null
En fait, je le lance 3 fois par min, avec des params différents, donc 4320 lancements par jour.
Le script appelle un binaire, qui accessoirement fait lors de son exécution un:
fprintf(stderr, "Resolving remote host '%s'... ", remote_host);
Comme stdout et stderr sont redirigés vers /dev/null, crontab ne m’envoie jamais de mail….
….sauf entre 2 et 20 fois par jour, où j’ai la chance de recevoir un mail qui contient:
Resolving remote host ’truc.bidule.fr'... Done.
Donc lors de 0,2% (environ) des exécutions, stderr n’est pas correctement renvoyée vers /dev/null.
Alors moi perso, je suis pas un fan de ce genre d’énigme, surtout si c’est pour découvrir que c’est un truc connu, un bug de bash, ou de la libc sur une Debian 9.5.
Je lance le chrono, il y a des tueurs sur cette liste :)