Der Blog

Wenn Sie Experimente zum maschinellen Lernen ausführen, möchten Sie möglicherweise mehrere Skripte gleichzeitig ausführen, Ausdrucke für ein Skript ausblenden oder einfach Dinge in einem Terminalfenster ausführen, während Sie ein Jupyter-Notizbuch im Hintergrund ausführen.

In diesem Beitrag erfahren Sie, wie Sie Skripte im Hintergrund ausführen, in den Vordergrund bringen und überprüfen, ob die Skripte noch ausgeführt werden.

Skripte im Hintergrund ausführen

Angenommen, Sie haben bereits mit der Ausführung Ihres Skripts Python begonnen script.py . Dann:

    1. Drücken Sie Strg+Z, um das Skript anzuhalten.
          1. Sie könnten sehen
          2. Python

            1
            2

            ^ Z
            + Gestoppt python script.py

    2. Geben Sie bg ein, um das Skript im Hintergrund auszuführen. Sie sollten sehen
      Python

      1
      + python script.py &Verstärker;
    1. ODER geben Sie fg ein, um das Skript im Vordergrund auszuführen. Sie sollten sehen
      Python

      1
      + python script.py &Verstärker;

      und das Skript läuft weiter.

Sie können das Skript auch direkt im Hintergrund ausführen, indem Sie Folgendes eingeben

Python

1
python script.py &Verstärker;

in der Konsole. Das Symbol & weist den Prozess an, im Hintergrund ausgeführt zu werden. ZB betreibe ich oft Jupyter notebook &.

Prozesse überprüfen

Manchmal möchten Sie überprüfen, ob ein Prozess noch ausgeführt wird, wie lange ein Prozess ausgeführt wurde oder ob er hängt. (Hängen hier bedeutet, dass das Programm feststeckt oder nicht auf Eingaben reagiert.)

    1. Geben Sie ps -x ein, um alle Prozesse aufzulisten (die ausführbar sind).
      1. Wenn Sie sich auf Ihrem Heimcomputer im Gegensatz zu einem Remote-Server befinden, werden möglicherweise viele Prozesse ausgeführt, und Sie müssen möglicherweise ps -x | grep python oder ps -x | grep ausführen script.py stattdessen finden Sie Ihr Skript.
        1. Dies findet alle Prozesse mit dem Wort python in ihnen.
          1. / leitet die Ausgabe des ersten Befehls (ps -x ) an die Eingabe des zweiten Befehls (grep ) weiter.
          2. grep python files_to_search findet Instanzen des Strings python in files_to_search.
    2. Suchen Sie die ID Ihres Prozesses.

      1
      2
      3

      2939 ttys003 0:01.60 python script.py
      2949 ttys003 0:00.00 grep python

      1. pid steht für process ID.
      2. tty steht für Teletype Terminals, das waren die Terminals, die Menschen benutzten, als die Menschen anfingen, Computer zu benutzen.
  1. Wenn Sie unter Linux arbeiten, können Sie pstack $ID , das die laufende Ausgabe Ihres Prozesses pstack $ID . Wenn der Prozess nicht hängt, sollten Sie eine Menge kontinuierlicher Ausgaben sehen, die darauf hindeuten, welcher Teil des Programms ausgeführt wird. Wenn es hängt, wird es wahrscheinlich nicht viele (wenn überhaupt) fortlaufende Ausdrucke geben.
  2. Wenn Sie den Prozess stoppen möchten, können Sie kill $ID eingeben.
    1. Wenn Sie den Prozess stoppen möchten, während er im Vordergrund steht, geben Sie Strg+ C ein.
    2. Sie können dies verwenden, um z. B. ein Experiment zu entfernen, das nicht reagiert.

Ich hoffe, das war hilfreich! Sie können versuchen, einige Python-Skripte mit demselben Terminal auszuführen oder Ihre Python-Skripte mit dieser Methode zu debuggen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.