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.
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.
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 &
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.
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.