Warum dämonisieren wir Prozesse? [geschlossen]
On Februar 13, 2021 by adminAntwort
Das ist mehr als eine Frage, jede kann lange Antworten haben. Kurz
-
Wenn ich ein Programm im Hintergrund mit & starte (zum Beispiel „./script &“), was macht das aus? Prozess „Ausführung anders als wenn ich normalerweise ein Programm ausgeführt hätte, das sich selbst in einen Daemon verwandelt?
Wenn Sie ein Programm im Hintergrund ausführen, wird es nicht mehr direkt vom Terminal gesteuert (Sie können nicht“ einfach
^C
it), aber es kann trotzdem auf das Terminal schreiben und Ihre Arbeit stören. In der Regel trennt sich ein Daemon vom Terminal (zusätzlich zum Forking) und dessen Ausgabe / Fehler würde zu Dateien umgeleitet. -
Bedeutet dies einfach, dass der Hintergrundprozess angehalten wird und der Dämon weiter ausgeführt wird, wenn ich mich abmelde?
Der Hintergrundprozess könnte mit
nohup
geschützt werden, aber wenn seine Ausgabe nicht umgeleitet wurde, wird der ter geschlossen minal würde das Schreiben verhindern und einen Fehler erzeugen, der es wahrscheinlich stoppen würde. -
Ich würde gerne wissen, ob ein Risiko besteht oder ob es schlecht ist Übung.
Neben dem Problem, die Ausgabe des Programms (und die Fehlermeldungen) zu verfolgen, gibt es das Problem, es neu zu starten, wenn es stirbt. Ein Dienstskript passt in die Art und Weise, wie die anderen Dienste auf dem System entworfen wurden, und bietet eine mehr oder weniger standardmäßige Möglichkeit zur Steuerung des Dämons.
Kommentare
- Danke! Das war klar. Jetzt merke ich, dass ich ' nicht wirklich verstehe, wie rc.local funktioniert, da ich ' Programme davon starten kann und sie gut funktionieren obwohl sie eine Ausgabe haben. Werden rc.locals stderr / stdout fds standardmäßig nach / dev / null umgeleitet?
- Dies wird wahrscheinlich auf der Systemkonsole angezeigt, z. B.
/dev/tty1
(einige) Systeme unterscheiden sich).
Schreibe einen Kommentar