när du kör maskininlärningsexperiment kanske du vill köra flera skript samtidigt, dölja utskrifter för ett skript eller bara göra saker i ett terminalfönster medan du kör en Jupyter-anteckningsbok i bakgrunden.
i det här inlägget kommer vi att gå igenom hur man kör skript i bakgrunden, ta dem tillbaka till förgrunden och kontrollera om skripten fortfarande körs.
köra skript i bakgrunden
Antag att du redan har börjat köra ditt skript, python script.py. då:
-
- tryck Ctrl+Z för att pausa skriptet.
-
-
- du kan se
Python12^Z+ stoppad python script.py
-
-
- skriv bg för att köra skriptet i bakgrunden. Du borde se
Python1+ python script.py &
- tryck Ctrl+Z för att pausa skriptet.
-
- eller skriv fg för att köra skriptet i förgrunden. Du borde se
Python1+ python script.py &
och manuset fortsätter att springa.
- eller skriv fg för att köra skriptet i förgrunden. Du borde se
du kan också köra skriptet i bakgrunden direkt genom att skriva
1
|
python script.py &
|
i konsolen. Symbolen & amp; instruerar processen att köra i bakgrunden. T. ex. Jag kör ofta Jupyter notebook & amp;.
inspektera processer
ibland kanske du vill kontrollera om en process fortfarande körs, hur länge en process har körts eller om den hänger. (Hängande här betyder att programmet har fastnat eller inte svarar på ingångar.)
-
- skriv ps-x för att lista alla processer (som är körbara).
- om du är på din hemdator i motsats till en fjärrserver kan det finnas många processer som körs, och du kan behöva köra ps – X / grep python eller ps-x / grep script.py istället för att hitta ditt manus.
- detta hittar alla processer med ordet python i dem.
- | rör utmatningen från det första kommandot (ps-x ) till ingången till det andra kommandot (grep ).
- grep python files_to_search hittar instanser av strängen python i files_to_search.
- detta hittar alla processer med ordet python i dem.
- om du är på din hemdator i motsats till en fjärrserver kan det finnas många processer som körs, och du kan behöva köra ps – X / grep python eller ps-x / grep script.py istället för att hitta ditt manus.
- hitta id för din process.
1232939 ttys003 0: 01.60 pytonorm script.py2949 ttys003 0:00.00 grep python
- pid står för process ID.
- TTY står för teletype terminals, som var de terminaler som människor använde när människor först började använda datorer.
- skriv ps-x för att lista alla processer (som är körbara).
- om du är på Linux kan du köra pstack $ID, som ska skriva ut den pågående produktionen av din process. Om processen inte hänger, bör du se en hel del kontinuerlig utgång som kommer att föreslå vilken del av programmet körs. Om det hänger kommer det sannolikt inte att finnas många (om några) fortsatta utskrifter.
- om du vill stoppa processen kan du skriva kill $ID.
- om du vill stoppa processen medan den är i förgrunden skriver du Ctrl+C.
- du kan använda detta för att t.ex. bli av med ett experiment som inte svarar.
jag hoppas att detta har varit till hjälp! Du kan försöka köra några Python-skript med samma terminal eller felsöka dina Python-skript med den här metoden.