Heim > Backend-Entwicklung > Golang > So schließen Sie das Terminal in Golang, ohne die Ausführung des Programms zu beeinträchtigen

So schließen Sie das Terminal in Golang, ohne die Ausführung des Programms zu beeinträchtigen

PHPz
Freigeben: 2023-04-06 10:56:58
Original
1137 Leute haben es durchsucht

Golang ist eine sehr beliebte Programmiersprache, insbesondere in der Netzwerkprogrammierung und gleichzeitigen Programmierung. Wenn wir jedoch Golang zum Entwickeln von Programmen verwenden, kann es vorkommen, dass das Programm nach dem Schließen des Terminals geschlossen wird. In diesem Artikel erfahren Sie, wie Sie das Terminal in Golang schließen, ohne die Ausführung des Programms zu beeinträchtigen.

  1. Hintergrundausführung von Programmen aktivieren

Auf Linux- oder Unix-Systemen kann das Golang-Programm im Hintergrund ausgeführt werden, sodass das Programm nach dem Schließen des Terminals weiter ausgeführt wird. Die Implementierungsmethode ist wie folgt:

Verwenden Sie den Befehl nohup, um das Programm in den Hintergrund zu stellen:

$ nohup ./myprogram &
Nach dem Login kopieren

Unter anderem ist myprogram das Programm, das Sie im Hintergrund ausführen möchten.

  1. Verwenden Sie Open-Falcon-Supervisor für die Verwaltung

Open-Falcon-Supervisor ist ein Open-Source-Golang-Prozessmanagement-Tool, das Prozesse überwachen, verwalten und neu starten kann. Durch die Verwendung von open-falcon-supervisor kann erreicht werden, dass das Programm nach dem Schließen des Terminals nicht aufhört zu laufen. Die spezifische Verwendung ist wie folgt:

  • Open-Falcon-Supervisor installieren

Geben Sie den folgenden Befehl im Terminal ein, um Open-Falcon-Supervisor zu installieren:

$ curl -Ls http://7xjci3.com1.z0.glb.clouddn.com/tools/supervisor/install.sh | sh
Nach dem Login kopieren
  • Konfigurieren Sie die Datei supervisord.conf.

Erstellen Sie einen Supervisor im Verzeichnis /etc.conf und fügen Sie den folgenden Inhalt hinzu:

[program:myprogram]
command=/path/to/myprogram #程序路径
autostart=true
autorestart=true
startretries=10
redirect_stderr=true
stdout_logfile=/path/to/myprogram.log #日志路径
Nach dem Login kopieren

wobei mein Programm der Name des Programms ist, das Sie ausführen möchten, /pfad/zu/meinprogramm der Pfad des Programms und /pfad/ to/myprogram.log ist der Pfad der Protokolldatei des Programms.

  • Supervisor starten

Geben Sie im Terminal den folgenden Befehl ein, um Supervisor zu starten:

$ supervisord
Nach dem Login kopieren

Auf diese Weise läuft das von open-falcon-supervisor verwaltete Programm im Hintergrund und das Programm läuft nach dem Schließen weiter das Terminal.

  1. Systemd-Verwaltung verwenden

systemd ist ein System- und Dienstmanager unter Linux, der Prozesse überwachen, verwalten und neu starten kann. Durch die Verwendung des Systemd-Verwaltungsprogramms kann erreicht werden, dass die Ausführung des Programms nach dem Schließen des Terminals nicht gestoppt wird. Die spezifische Verwendung ist wie folgt:

  • Schreiben Sie eine Programmdienstdatei.

Erstellen Sie eine myprogram.service-Datei im Verzeichnis /etc/systemd/system und fügen Sie den folgenden Inhalt hinzu:

[Unit]
Description=My Program Service
After=network.target

[Service]
Type=simple
ExecStart=/path/to/myprogram #程序路径
Restart=on-failure

[Install]
WantedBy=multi-user.target
Nach dem Login kopieren

Unter diesen ist myprogram die Name des Programms, das Sie ausführen möchten, /path/to/myprogram ist der Pfad des Programms.

  • Starten Sie den Dienst

Geben Sie den folgenden Befehl in das Terminal ein, um den Dienst zu starten:

$ systemctl start myprogram
Nach dem Login kopieren

Auf diese Weise wird das von systemd verwaltete Programm im Hintergrund ausgeführt und das Programm wird nach dem Schließen des Terminals weiter ausgeführt .

  1. Verwenden Sie den Bildschirmbefehl

Der Bildschirmbefehl ist ein Sitzungsverwaltungstool unter Linux. Sie können mehrere Sitzungen erstellen und zwischen Sitzungen wechseln. Sie können auch Programme in einer Sitzung ausführen und das Programm im Hintergrund ausführen. Verwenden Sie den Befehl screen, um zu verhindern, dass das Programm nach dem Schließen des Terminals stoppt. Die spezifische Verwendung ist wie folgt:

  • Bildschirm installieren

Geben Sie den folgenden Befehl im Terminal ein, um den Bildschirm zu installieren:

$ sudo apt-get install screen
Nach dem Login kopieren
  • Erstellen Sie eine neue Bildschirmsitzung

Geben Sie den folgenden Befehl im Terminal ein, um einen neuen Bildschirm zu erstellen Sitzung:

$ screen -S myprogram
Nach dem Login kopieren

Unter diesen ist mein Programm der Name der Sitzung.

  • Führen Sie das Programm aus

Führen Sie das Programm in der Bildschirmsitzung aus:

$ /path/to/myprogram
Nach dem Login kopieren
  • Lassen Sie das Programm im Hintergrund laufen

Verwenden Sie in der Bildschirmsitzung die Tastenkombination Strg + A + D, um das Programm zu platzieren im Hintergrund und schließen Sie das Terminal. Das Programm läuft weiterhin weiter.

  • Bildschirmsitzung wiederherstellen

Geben Sie im Terminal den folgenden Befehl ein, um die zuvor erstellte Bildschirmsitzung wiederherzustellen:

$ screen -r myprogram
Nach dem Login kopieren

Auf diese Weise wird das mit dem Bildschirmbefehl verwaltete Programm im Hintergrund ausgeführt und das Programm läuft weiter wird nach dem Schließen des Terminals ausgeführt.

Zusammenfassung

Die oben genannten Möglichkeiten sind einige Möglichkeiten, das Terminal zu schließen, ohne die Ausführung des Programms zu beeinträchtigen, wenn Sie Golang online verwenden. Sie können die geeignete Methode zur Verwaltung des Programms basierend auf Ihren Bedürfnissen und der tatsächlichen Situation auswählen. Ich hoffe, dass dieser Artikel für alle hilfreich sein kann.

Das obige ist der detaillierte Inhalt vonSo schließen Sie das Terminal in Golang, ohne die Ausführung des Programms zu beeinträchtigen. 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