the Blog

bij het uitvoeren van machine learning experimenten, kunt u meerdere scripts tegelijkertijd uitvoeren, Afdrukken voor een script verbergen of gewoon dingen doen in een terminalvenster terwijl u een Jupyter Notebook op de achtergrond draait.

in dit bericht gaan we door hoe scripts op de achtergrond draaien, brengen ze terug naar de voorgrond, en controleren of de scripts nog steeds draaien.

scripts op de achtergrond draaien

stel dat u al begonnen bent met het uitvoeren van uw script, python script.py. dan:

    1. druk op Ctrl + Z om het script te pauzeren.
          1. Je zou kunnen zien
          2. Python

            1
            2

            ^Z
            + Gestopt python script.py

    2. Type bg uitvoeren van het script in de achtergrond. Je moet zien
      Python

      1
      + python script.py &
    1. of typ fg om het script op de voorgrond uit te voeren. Je moet zien
      Python

      1
      + python script.py &

      en het script blijft draaien.

u kunt het script ook direct op de achtergrond uitvoeren door te typen

Python

1
python script.py &

in de console. Het & – symbool instrueert het proces dat op de achtergrond moet worden uitgevoerd. Ik gebruik bijvoorbeeld vaak jupyter notebook &.

inspecteren van processen

soms wilt u controleren of een proces nog loopt, Hoe lang een proces al loopt of of het hangt. (Hier hangen betekent dat het programma vast zit of niet reageert op ingangen.)

    1. typ ps-x om alle processen (die uitvoerbare bestanden zijn) weer te geven.
      1. Als u op uw thuiscomputer zit in tegenstelling tot een server op afstand, kunnen er veel processen draaien en MOET u mogelijk ps-x | grep python of ps-x | grep uitvoeren script.py in plaats daarvan om je script te vinden.
        1. dit vindt alle processen met het woord python erin.
          1. / pipes de uitvoer van het eerste commando (ps-x ) naar de invoer van het tweede commando (grep ).
          2. grep python files_to_search vindt instanties van de string python in files_to_search.
    2. vind de id van uw proces.

      1
      2
      3

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

      1. pid staat voor de proces-ID.
      2. tty staat voor teletype terminals, de terminals die mensen gebruikten toen mensen voor het eerst computers gingen gebruiken.
  1. als je Linux gebruikt, kun je pstack $ID draaien, wat de lopende uitvoer van je proces zou moeten uitprinten. Als het proces niet hangt, zou je veel continue output moeten zien die zal suggereren welk deel van het programma draait. Als het hangt, zullen er waarschijnlijk niet veel (indien aanwezig) voortdurende afdrukken.
  2. als u het proces wilt stoppen, kunt u kill $ID typen.
    1. als u het proces wilt stoppen terwijl het zich op de voorgrond bevindt, typt u Ctrl+C.
    2. u kunt dit gebruiken om bijvoorbeeld een experiment kwijt te raken dat niet reageert.

ik hoop dat dit nuttig is geweest! Je kunt proberen een paar Python scripts uit te voeren met dezelfde terminal of je Python scripts debuggen met deze methode.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.