La fonte autorevole è l'implementazione nel kernel, quindi diamo prima un'occhiata.
Il panic
voce in sysctl
corrisponde a una variabile del kernel chiamata panic_timeout
. Questo è un numero intero con segno, utilizzato per controllare il comportamento in caso di panico come segue:
- se
panic_timeout
è strettamente positivo, il kernel attende dopo un panico, perpanic_timeout
secondi; - se
panic_timeout
è diverso da zero, il kernel si riavvia dopo un errore di panico (dopo aver atteso, se appropriato); - se il kernel non si è riavviato, stampa un messaggio e si ripete per sempre.
Quindi la manpage è corretta e la documentazione del kernel era incompleta; ma sysctl/kernel.rst
ora documenta panic
più in dettaglio. Questo problema è stato risolto nella versione 5.7-rc1 del kernel.
Allora perché così una fonte attendibile fornisce tale un'informazione fuorviante?
Innanzitutto è solo leggermente fuorviante - preferisci saltare alla tua conclusione - piuttosto che un errore. Direi che kernel.org trascura il caso speciale "0".
Non conosco i dettagli di kernel.org , ma in sostanza è un mix del kernel ufficiale Documentation/
(formattato web, raggruppato), oltre ad alcune informazioni aggiuntive. Il miglior esempio è l'elenco dei parametri di avvio, che viene "raccolto" da luoghi diversi, come dicono loro.
"kernel.org" elenca il link "Documentazione" sotto "Altre risorse". Ti porta a doc/html/latest/
. C'è anche un miscuglio di link sotto /doc
.
Proprio all'inizio la documentazione (in formato sfinge) dice:
La documentazione del kernel, come il kernel stesso, è un work in progress; questo è particolarmente vero mentre lavoriamo per integrare i nostri numerosi documenti sparsi in un insieme coerente. Tieni presente che i miglioramenti alla documentazione sono ben accetti;...
Il man 5 proc
fa parte di man-pages
progetto (o pacchetto), e c'è questo ragazzo con il libro-per-stordire-un-bue che lo sta mantenendo. Queste pagine hanno tutte "COLOPHON" come sottotitolo (sezione) alla fine. Sono anche eterogenei, alcuni appena raccolti (tutte le pagine POSIX "1p"), e alcuni scritti per colmare le lacune.
Su man7.org vedi direttamente l'opera di Mr. Kerrisk - penso che faccia un buon lavoro, vendendo il suo libro ma mantenendo una raccolta di pagine man open source.
In questo caso, è più preciso. Entrambi sembrano correlati, ovviamente ("Quando tu...device driver... 60").
noi lavorare per integrare il nostro molti documenti sparsi in un insieme coerente.
Questo ha senso solo a metà. I cui documenti sono stati sparsi , e da chi?
Il mio pseudocodice va così:
if timeout > 0 then loop for 'timeout' seconds
if timeout != 0 then reboot
loop for ever
Il che significa che un valore negativo è il riavvio immediato e uno positivo ha entrambi i se veri. E zero porta direttamente al ciclo finale.