[LINUX] Führen Sie Aufgaben im Hintergrund auf dem Server aus, an den Sie gesendet haben

Überblick

Ich fühle jetzt viel mehr darüber, aber ich habe mehr remote gearbeitet, und immer mehr Vorgänge wie maschinelles Lernen werden auf Remote-Servern ausgeführt. Der Grund ist, dass mein Notebook-PC nicht sehr spezifiziert ist, aber es fehlen Spezifikationen. Natürlich ist es gut, Google Colab zu verwenden, aber wenn Sie es längere Zeit nicht bedienen, tritt eine Zeitüberschreitung auf und die Leistung der GPU, die verwendet werden kann, ist begrenzt.

Ich habe immer Befehle auf dem Server eingegeben, an den ich gesendet habe, aber ich habe die Verbindung beibehalten, um den Prozess, an den ich gesendet habe, am Leben zu erhalten. .. Aber als ich darüber nachdachte, musste ich das überhaupt nicht tun.

Weise

Machen Sie zuerst die SSH-Verbindung einfach

https://qiita.com/kenmaro/items/a548a302228029c5c870 Wie hier ausführlich erläutert, können Sie durch Festlegen der SSH-Authentifizierung und Bearbeiten von `~ / .ssh / config```, Zum Beispiel eine SSH-Verbindung zu `my_remote_pc```

ssh my_remote_pc

Sie können sehr einfach eine SSH-Verbindung herstellen.

Hintergrundausführung des Prozesses

Außerdem haben viele Benutzer den Befehlshintergrund möglicherweise lokal ausgeführt. Wenn Sie beispielsweise `python main.py im Hintergrund ausführen möchten, fügen Sie einfach & `am Ende des Befehls hinzu.

python main.py &

Machen Sie die ersten beiden gleichzeitig

Wenn Sie die beiden oben genannten Elemente mischen, können Sie sie im Hintergrund auf dem Server ausführen, an den Sie gesendet haben. Selbst wenn Sie die SSH-Verbindung trennen, wird der Prozess jetzt auf dem Remote-Server ausgeführt.

Es ist einfach zu tun, `ssh <***>" <***> & "`. Im vorherigen Beispiel

ssh my_remote_pc "python main.py &"

Nur das.

Jetzt müssen Sie nicht mehr die SSH-Verbindung überprüfen, um festzustellen, ob der Prozess ausgeführt wird.

Ich denke, die meisten Leute halten es für selbstverständlich, aber ich bin sicher, dass es Leute wie mich gibt, die etwas Unbequemes und Nutzloses tun, also hoffe ich, dass es hilft.

Nachtrag

Verwenden Sie den Bildschirmbefehl

Das war viel einfacher.

Sie brauchen nur ungefähr 3 Befehle, um sich zu erinnern.

screen

Erstellen Sie zunächst ein virtuelles Terminal (als Sitzung bezeichnet).

Führen Sie dann eine Aufgabe aus.

ctrl-a --> d

Verlassen Sie das mit diesem Befehl erstellte Terminal. (Ablösen)

screen -ls

So listen Sie die Sitzungen in auf

screen -r <session id>

Verbinden Sie sich wieder mit.

Hier in der Gegend.

Ende.

Recommended Posts

Führen Sie Aufgaben im Hintergrund auf dem Server aus, an den Sie gesendet haben
Der Tag, an dem der unter Linux unter AWS ausgeführte Flask-Server semi-persistent war (im Hintergrund ausgeführt)
Führen Sie in Python geschriebenes CGI auf Sakuras Mietserver aus
Führen Sie einen Hintergrundjob mit Stoff aus
Test.py wird auf dem Webserver in Python3 nicht angezeigt.
Führen Sie einen Linux-Server mit GCP aus
Führen Sie den uwsgi-Server im uwsgi-gevent-Modus aus
Führen Sie TensorFlow2 auf dem VPS-Server aus
Hinweise zur Verwendung von matplotlib auf dem Server
Führen Sie den Ausgabecode auf dem lokalen Webserver in Python als "A, gibt vor, B zu sein" aus
Speichern Sie die vom Browser erfassten Sprachdaten im WAV-Format auf dem Server
Starten Sie den Webserver im aktuellen Verzeichnis
Nicht genügend var-Speicherplatz auf dem Mailserver
Führen Sie AzureKinect an Heiligabend in Python aus.
Führen Sie den Python-Interpreter im Skript aus
Rückblick auf 2016 in der Crystal-Sprache
Stellen Sie das in Python unter SQL Server erstellte Vorhersagemodell bereit und verwenden Sie es
Führen Sie Jupyter Notebook auf einem Remote-Server aus
Führen Sie Python in C ++ unter Visual Studio 2017 aus
Veröffentlichen Sie das aktuelle Verzeichnis auf dem Webserver
Führen Sie den Python-WSGI-Server auf der NGINX-Einheit aus
Melden Sie sich mit SSH bei einem Remote-Server an
Zeichentipps mit matplotlib auf der Serverseite
Führen Sie Python YOLOv3 in C ++ unter Visual Studio 2017 aus
Führen Sie yolov4 "vorerst" in Windows aus
Bis das Changefinder-Sample auf Python läuft
Starten Sie einen HTTP-Server im aktuellen Verzeichnis
Öffnen Sie das auf dem Server gestartete Jupyter-Notizbuch aus der Ferne
TensorFlow: Führen Sie in Python gelernte Daten unter Android aus
[CGI] Führen Sie das Server-Python-Programm mit Vue.js + axios aus und rufen Sie die Ausgabedaten ab
Der schlampigste Weg, CORS mit aiohttp Server zu unterstützen
Führen Sie die Kolben-App auf Cloud 9 und Apache Httpd aus
Hinweise zu Transaktionen in der Java-Clientbibliothek im Datenspeicher
Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
Registrieren Sie zum ersten Mal eine Aufgabe in cron
Richten Sie in 30 Minuten einen kostenlosen Server unter AWS ein
Unterschied in den Ergebnissen abhängig vom Argument von multiprocess.Process
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Führen Sie einen Befehl auf dem Webserver aus und zeigen Sie das Ergebnis an
Bis Sie Server Django mit Visual Studio Code ausführen
So führen Sie Django unter IIS auf einem Windows-Server aus
Installieren Sie django auf Python + Anaconda und starten Sie den Server
Das Bild wird in der lokalen Entwicklungsumgebung angezeigt, aber das Bild wird nicht auf dem Remote-Server von VPS angezeigt.
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 14) Führen Sie das Programm in Kapitel 4 in Google Colaboratory aus