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:
-
- Drücken Sie Strg+Z, um das Skript anzuhalten.
-
-
- Sie könnten sehen
Python12^ Z+ Gestoppt python script.py
-
-
- Geben Sie bg ein, um das Skript im Hintergrund auszuführen. Sie sollten sehen
Python1+ python script.py &Verstärker;
- Drücken Sie Strg+Z, um das Skript anzuhalten.
-
- ODER geben Sie fg ein, um das Skript im Vordergrund auszuführen. Sie sollten sehen
Python1+ python script.py &Verstärker;
und das Skript läuft weiter.
- ODER geben Sie fg ein, um das Skript im Vordergrund auszuführen. Sie sollten sehen
Sie können das Skript auch direkt im Hintergrund ausführen, indem Sie Folgendes eingeben
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.)
-
- Geben Sie ps -x ein, um alle Prozesse aufzulisten (die ausführbar sind).
- 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.
- Dies findet alle Prozesse mit dem Wort python in ihnen.
- / leitet die Ausgabe des ersten Befehls (ps -x ) an die Eingabe des zweiten Befehls (grep ) weiter.
- grep python files_to_search findet Instanzen des Strings python in files_to_search.
- Dies findet alle Prozesse mit dem Wort python in ihnen.
- 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.
- Suchen Sie die ID Ihres Prozesses.
1232939 ttys003 0:01.60 python script.py2949 ttys003 0:00.00 grep python
- pid steht für process ID.
- tty steht für Teletype Terminals, das waren die Terminals, die Menschen benutzten, als die Menschen anfingen, Computer zu benutzen.
- Geben Sie ps -x ein, um alle Prozesse aufzulisten (die ausführbar sind).
- 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.
- Wenn Sie den Prozess stoppen möchten, können Sie kill $ID eingeben.
- Wenn Sie den Prozess stoppen möchten, während er im Vordergrund steht, geben Sie Strg+ C ein.
- 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.