bloggen

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å:

    1. tryck Ctrl+Z för att pausa skriptet.
          1. du kan se
          2. Python

            1
            2

            ^Z
            + stoppad python script.py

    2. skriv bg för att köra skriptet i bakgrunden. Du borde se
      Python

      1
      + python script.py &
    1. eller skriv fg för att köra skriptet i förgrunden. Du borde se
      Python

      1
      + python script.py &

      och manuset fortsätter att springa.

du kan också köra skriptet i bakgrunden direkt genom att skriva

Python

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

    1. skriv ps-x för att lista alla processer (som är körbara).
      1. 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.
        1. detta hittar alla processer med ordet python i dem.
          1. | rör utmatningen från det första kommandot (ps-x ) till ingången till det andra kommandot (grep ).
          2. grep python files_to_search hittar instanser av strängen python i files_to_search.
    2. hitta id för din process.

      1
      2
      3

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

      1. pid står för process ID.
      2. 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.
  1. 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.
  2. om du vill stoppa processen kan du skriva kill $ID.
    1. om du vill stoppa processen medan den är i förgrunden skriver du Ctrl+C.
    2. 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.

Lämna ett svar

Din e-postadress kommer inte publiceras.