Les avertissements

Il est important de considérer le warning et de le gérer comme une tranche d’exit code entre 1 et le nombre maximum qui signifiera l’erreur. La mauvaise méthode serait d’utiliser un bit significatif pour exprimer le warning car cela obligerait a effectuer une évaluation binaire or il est plus facile et surtout plus lisible d’utiliser un opérateur pour tester l’exit code. Donc, le bit significatif devra indiquer a partir de quel niveau l’exit code représent une erreur.

- Exemples #[b]# est le bit signifiant de l’exit code indiquant l’erreur fatale.

= b=1 Si le premier bit représente une erreur, cela signifiequ’il n’y pas de tranches d’avertissement,on ne considéra donc qu’un résultat booléen.  ! Exit Code ! Binaire ! Signification  ! 0 | 0000000#[0]# | Succès  ! 1 | 0000000#[1]# | Erreur

= b=2 On introduit la notion minimal de warning, un exemple typique est l’exit code de modules Nagios :  ! Exit Code ! Binaire ! Signification  ! 0 | 000000#[0]#0 | OK  ! 1 | 000000#[0]#1 | WARNING  ! 2 | 000000#[1]#0 | CRITICAL  ! 3 | 000000#[1]#1 | UNKNOWN

= b=3  ! Exit Code ! Binaire ! Signification  ! 0 | 00000#[0]#00 | OK  ! 1 | 00000#[0]#01 | WARNING niveau 1  ! 2 | 00000#[0]#10 | WARNING niveau 2  ! 3 | 00000#[0]#11 | WARNING niveau 3  ! 4 | 00000#[1]#00 | Erreur 1  ! 5 | 00000#[1]#01 | Erreur 2  ! 6 | 00000#[1]#10 | Erreur 3  ! 7 | 00000#[1]#11 | Erreur 4...

- En résumé Utiliser un bit d’avertissement #[b]#, signifie que l’erreur fatale sera à partir de 2^(b-1). Sachant que l’exit code 0 est reservé au succès (0*2^0), l’exit code sera considéré comme fatal à partir de 2^(b-1), la plage d’avertissement va donc de 1 à (2^(-1)b)-1.

Le tableau indique a partir de quel niveau l’exit code en erreur en fonction du bit : | ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8  ! erreur | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128

Article

> Ordonnancement > Administration > Les codes d’exit

Il peut être nécessaire de distinguer un niveau intermédiaire d’avertissement signifiant que l’exécution ne s’est pas déroulé correctement mais que les erreurs rencontrées ne sont pas bloquantes.

Mise à jour :6 avril 2005
Visites : 698
Auteur : E. Angenault
Site : Angenault.net

L’exit code d’un batch ou d’un application est vital pour l’exploitation car c’est le premier élément dont on dispose à la fin de son exécution. Il est donc nécessaire de le normaliser afin de le gérer sans traitement particulier.

Liens commerciaux

Accès rapide