O Blog

ao executar experimentos de aprendizado de máquina, você pode querer executar vários scripts simultaneamente, ocultar impressões para um script ou apenas fazer coisas em uma janela de terminal enquanto executa um bloco de anotações Jupyter em segundo plano.

neste post, veremos como executar scripts em segundo plano, trazê-los de volta ao primeiro plano e verificar se os scripts ainda estão em execução.

executando scripts em segundo plano

suponha que você já começou a executar seu script, python script.py. então:

    1. pressione Ctrl + Z para pausar o script.
          1. Você pode ver
          2. Python

            1
            2

            ^Z
            + Interrompido python script.py

    2. Digite bg para executar o script no plano de fundo. Você deve ver
      Python

      1
      + python script.py &
    1. OU tipo fg para executar o script em primeiro plano. Você deve ver
      Python

      1
      + python script.py &

      e o script continua a ser executado.

Você também pode executar o script no plano de fundo diretamente digitando

Python

1
python script.py &

no console. O símbolo & amp; instrui o processo a ser executado em segundo plano. Por exemplo, eu costumo executar o Jupyter notebook & amp;.

inspecionando processos

às vezes, você pode querer verificar se um processo ainda está em execução, Há quanto tempo um processo está em execução ou se está pendurado. (Pendurado aqui significa que o programa está preso ou não está respondendo às entradas.)

    1. digite ps-x para listar todos os processos (que são executáveis).
      1. Se você está no computador de casa, como oposição a um servidor remoto, pode haver muitos processos em execução, e você pode ter que executar ps-x | grep python ou ps -x | grep script.py em vez de encontrar o seu script.
        1. isso encontra todos os processos com a palavra python neles.
          1. | canaliza a saída do primeiro comando (ps-x ) para a entrada do segundo comando (grep ).
          2. grep python files_to_search encontra instâncias da string python em files_to_search.
    2. Encontre o id do seu processo.

      1
      2
      3

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

      1. pid significa para o processo de IDENTIFICAÇÃO.
      2. TTY significa terminais de teletipo, que eram os terminais que as pessoas usavam quando as pessoas começaram a usar computadores.
  1. se você estiver no Linux, poderá executar o PSTACK $ ID, que deve imprimir a saída contínua do seu processo. Se o processo não está pendurado, você deve ver um monte de saída contínua que irá sugerir qual parte do programa está em execução. Se estiver pendurado, provavelmente não haverá muitas (Se houver) impressões contínuas.
  2. se você quiser parar o processo, você pode digitar kill $ID.
    1. se você quiser interromper o processo enquanto ele estiver em primeiro plano, digite Ctrl+C.
    2. você pode usar isso para, por exemplo, se livrar de um experimento que não está respondendo.

espero que isso tenha sido útil! Você pode tentar executar alguns scripts Python usando o mesmo terminal ou depurar seus scripts Python usando este método.

Deixe uma resposta

O seu endereço de email não será publicado.