Blog

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:

    1. naciśnij Ctrl+Z, aby wstrzymać skrypt.
          1. możesz zobaczyć
          2. Python

            1
            2

            ^Z
            + zatrzymany python script.py

    2. wpisz bg, aby uruchomić skrypt w tle. Powinieneś zobaczyć
      Python

      1
      + python script.py & amp;
    1. lub wpisz fg, aby uruchomić skrypt na pierwszym planie. Powinieneś zobaczyć
      Python

      1
      + python script.py & amp;

      i skrypt nadal działa.

skrypt można również uruchomić bezpośrednio w tle, wpisując

Python

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

    1. wpisz ps-x, aby wyświetlić listę wszystkich procesów (które są plikami wykonywalnymi).
      1. 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.
        1. to znajduje wszystkie procesy ze słowem python w nich.
          1. / wyprowadza wyjście pierwszego polecenia (ps-x ) na wejście drugiego polecenia (grep ).
          2. grep python files_to_search znajduje instancje łańcucha Pythona w files_to_search.
    2. Znajdź identyfikator procesu.

      1
      2
      3

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

      1. pid oznacza ID procesu.
      2. 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.
  1. 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.
  2. jeśli chcesz zatrzymać proces, możesz wpisać kill $ID.
    1. jeśli chcesz zatrzymać proces, gdy jest na pierwszym planie, wpisz Ctrl + C.
    2. 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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.