Hvorfor demoniserer vi prosesser? [lukket]
On februar 13, 2021 by adminSvar
Det er mer enn ett spørsmål, hver kan ha lange svar. Kort
-
Hvis jeg starter et program i bakgrunnen ved hjelp av & (for eksempel «./script &»), hva gjør dette prosess «utførelse annerledes enn om jeg normalt kjørte et program som gjør seg til en demon?
Kjører du et program i bakgrunnen, blir det ikke lenger direkte kontrollert av terminalen (du kan ikke ganske enkelt
^C
det), men det kan fremdeles skrive til terminalen og forstyrre arbeidet ditt. Vanligvis vil en demon skille seg fra terminalen (i tillegg til forking) og dens utgang / feil vil bli omdirigert til filer. -
Betyr dette ganske enkelt at hvis jeg logger av, vil bakgrunnsprosessen stoppe og demonen vil fortsette å kjøre?
Bakgrunnsprosessen kan beskyttes med
nohup
men med mindre utgangen ble omdirigert, lukkes minal ville forhindre at den skrev, og produsere en feil som sannsynligvis ville stoppe den. -
Jeg vil gjerne vite om det er noen risiko / om det er dårlig praksis.
I tillegg til problemet med å holde oversikt over programmets utdata (og feilmeldinger), er det problemet med å starte det på nytt hvis det tilfeldigvis dør. Et serviceskript passer inn i måten de andre tjenestene på systemet er utformet på, og gir en mer / mindre standard måte å kontrollere demonen på.
/dev/tty1
(noen systemene er forskjellige).