Heim >Backend-Entwicklung >Golang >Wie kann ich untergeordnete Prozesse am Laufen halten, nachdem ein Systemd-Dienst beendet wurde?

Wie kann ich untergeordnete Prozesse am Laufen halten, nachdem ein Systemd-Dienst beendet wurde?

DDD
DDDOriginal
2024-12-25 16:06:19247Durchsuche

How Can I Keep Child Processes Running After a Systemd Service Stops?

Systemd: Untergeordnete Prozesse trennen

Wenn Sie einen lang laufenden Prozess vom Terminal aus starten, möchten Sie möglicherweise, dass untergeordnete Prozesse auch dann bestehen bleiben, wenn die Der Hauptprozess wird neu gestartet oder beendet. Während dies bei manueller Ausführung machbar ist, wird es problematisch, wenn der Hauptprozess als systemd-Dienst ausgeführt wird.

In systemd ist die standardmäßige Beendigungsmethode für untergeordnete Prozesse die Kontrollgruppe, was dazu führt, dass alle untergeordneten Prozesse beendet werden nach der Beendigung des übergeordneten Prozesses. Um dies zu verhindern, können Sie KillMode=process in der Dienstkonfiguration angeben.

So implementieren Sie es für das angegebene Beispiel:

[Unit]
Description=ExecTest

[Service]                        
Type=simple
ExecStart=/home/snowm/src/exectest/exectest
User=snowm
KillMode=process

[Install]
WantedBy=multi-user.target

Durch das Festlegen von KillMode=process weisen Sie systemd an, dies zu tun Beenden Sie beim Beenden des Dienstes nur den Hauptprozess. Dadurch können untergeordnete Prozesse auch dann weiterlaufen, wenn der übergeordnete Prozess gestoppt wurde.

Bitte beachten Sie, dass dieser Ansatz nur untergeordnete Prozesse betrifft, die während der Ausführung des Hauptprozesses erstellt werden. Zuvor erstellte Prozesse werden dennoch beendet, wenn der Hauptprozess endet.

Das obige ist der detaillierte Inhalt vonWie kann ich untergeordnete Prozesse am Laufen halten, nachdem ein Systemd-Dienst beendet wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:MyTask ToDo CLI-Tool...Nächster Artikel:MyTask ToDo CLI-Tool...