Aplicațiile care rulează 24/7 sunt în general considerate servicii în opinia mea.
De obicei, serviciile pe Linux sunt pornite de un supervizor de proces, de obicei la momentul pornirii, cum ar fi prin sistemul implicit comun sau una dintre alternativele enumerate aici: https://en.wikipedia.org/wiki/Process_supervision
Acest supervizor poate apoi să repornească serviciul/aplicația atunci când este necesar și să captureze și să înregistreze rezultate standard/de eroare, astfel încât să nu se piardă.
Ca administrator de sistem, puteți interacționa fie cu jurnalele, fie cu supervizorul de proces pentru a verifica starea serviciului dumneavoastră.
Personal prefer ca serviciile să nu se bazeze pe supervizor pentru toată înregistrarea lor, cu alte cuvinte să nu se conecteze doar la stdout
și stderr
. Serviciile ar trebui să genereze (cantități mari de) ieșiri standard (scrieți pe consolă) numai atunci când sunt pornite cu un comutator (depanare) și/sau când aruncați erori critice și mor.În timpul operațiunilor normale, serviciile ar trebui să aibă opțiunea de a-și păstra propriul (fișier) jurnal pentru a înregistra cereri, statistici, erori, statistici și alte evenimente relevante.
Dar asta poate fi exagerat pentru aplicația ta.