podczas uruchamiania eksperymentów uczenia maszynowego możesz chcieć uruchomić wiele skryptów jednocześnie, ukryć wydruki skryptu lub po prostu robić rzeczy w oknie terminala podczas uruchamiania Notatnika Jupyter w tle.
w tym poście omówimy, jak uruchamiać skrypty w tle, przywracać je na pierwszy plan i sprawdzać, czy skrypty nadal działają.
uruchamianie skryptów w tle
Załóżmy, że uruchomiłeś już swój skrypt, python script.py. Then:
-
- naciśnij Ctrl+Z, aby wstrzymać skrypt.
-
-
- możesz zobaczyć
Python12^Z+ zatrzymany python script.py
-
-
- wpisz bg, aby uruchomić skrypt w tle. Powinieneś zobaczyć
Python1+ python script.py & amp;
- naciśnij Ctrl+Z, aby wstrzymać skrypt.
-
- lub wpisz fg, aby uruchomić skrypt na pierwszym planie. Powinieneś zobaczyć
Python1+ python script.py & amp;
i skrypt nadal działa.
- lub wpisz fg, aby uruchomić skrypt na pierwszym planie. Powinieneś zobaczyć
skrypt można również uruchomić bezpośrednio w tle, wpisując
1
|
python script.py & amp;
|
w konsoli. Symbol & amp; instruuje proces, aby działał w tle. Np. często prowadzę jupyter notebook & amp;.
sprawdzanie procesów
czasami możesz chcieć sprawdzić, czy proces nadal działa, jak długo jest uruchomiony lub czy się zawiesza. (Wiszące tutaj oznacza, że program jest zablokowany lub nie odpowiada na dane wejściowe.)
-
- wpisz ps-x, aby wyświetlić listę wszystkich procesów (które są plikami wykonywalnymi).
- Jeśli korzystasz z domowego komputera w przeciwieństwie do zdalnego serwera, może być uruchomionych wiele procesów i być może będziesz musiał uruchomić PS-X / grep python lub ps-x / grep script.py zamiast znaleźć swój scenariusz.
- to znajduje wszystkie procesy ze słowem python w nich.
- / wyprowadza wyjście pierwszego polecenia (ps-x ) na wejście drugiego polecenia (grep ).
- grep python files_to_search znajduje instancje łańcucha Pythona w files_to_search.
- to znajduje wszystkie procesy ze słowem python w nich.
- Jeśli korzystasz z domowego komputera w przeciwieństwie do zdalnego serwera, może być uruchomionych wiele procesów i być może będziesz musiał uruchomić PS-X / grep python lub ps-x / grep script.py zamiast znaleźć swój scenariusz.
- Znajdź identyfikator procesu.
1232939 ttys003 0: 01.60 python script.py2949 ttys003 0: 00.00 grep python
- pid oznacza ID procesu.
- TTY oznacza terminale typu teletype, które były terminalami używanymi przez ludzi, gdy ludzie po raz pierwszy zaczęli korzystać z komputerów.
- wpisz ps-x, aby wyświetlić listę wszystkich procesów (które są plikami wykonywalnymi).
- jeśli jesteś na Linuksie, możesz uruchomić pstack $ID, który powinien wydrukować bieżące wyjście Twojego procesu. Jeśli proces nie jest zawieszony, powinieneś zobaczyć wiele ciągłych danych wyjściowych, które sugerują, która część programu jest uruchomiona. Jeśli wisi, prawdopodobnie nie będzie wielu (jeśli w ogóle) kontynuujących wydruków.
- jeśli chcesz zatrzymać proces, możesz wpisać kill $ID.
- jeśli chcesz zatrzymać proces, gdy jest na pierwszym planie, wpisz Ctrl + C.
- możesz użyć tego, aby np. pozbyć się eksperymentu, który nie odpowiada.
mam nadzieję, że to było pomocne! Możesz spróbować uruchomić kilka skryptów Pythona za pomocą tego samego terminala lub debugować Skrypty Pythona za pomocą tej metody.