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
Freigeben: 2024-12-25 16:06:19
Original
205 Leute haben es durchsucht

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage