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.
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 &
Unter anderem ist myprogram das Programm, das Sie im Hintergrund ausführen möchten.
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:
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
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 #日志路径
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.
Geben Sie im Terminal den folgenden Befehl ein, um Supervisor zu starten:
$ supervisord
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.
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:
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
Unter diesen ist myprogram die Name des Programms, das Sie ausführen möchten, /path/to/myprogram ist der Pfad des Programms.
Geben Sie den folgenden Befehl in das Terminal ein, um den Dienst zu starten:
$ systemctl start myprogram
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 .
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:
Geben Sie den folgenden Befehl im Terminal ein, um den Bildschirm zu installieren:
$ sudo apt-get install screen
Geben Sie den folgenden Befehl im Terminal ein, um einen neuen Bildschirm zu erstellen Sitzung:
$ screen -S myprogram
Unter diesen ist mein Programm der Name der Sitzung.
Führen Sie das Programm in der Bildschirmsitzung aus:
$ /path/to/myprogram
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.
Geben Sie im Terminal den folgenden Befehl ein, um die zuvor erstellte Bildschirmsitzung wiederherzustellen:
$ screen -r myprogram
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!