processos makefile-run não na lista 'jobs'

0

Por que é que se eu rodar um programa através de um makefile, ele não aparece na lista jobs , mas se eu executar o comando diretamente da linha de comando, ele faz?

#:~/code/coinprice-indicator$ python3 coin/coin.py &
[1903] python3 coin/coin.py &
#:~/code/coinprice-indicator$ Coin Price Indicator v0.9.3 running!
#:~/code/coinprice-indicator$ make
python3 coin/coin.py &
#:~/code/coinprice-indicator$ Coin Price Indicator v0.9.3 running!
#:~/code/coinprice-indicator$ 
#:~/code/coinprice-indicator$ jobs
#:~/code/coinprice-indicator$
    
por bluppfisk 21.12.2017 / 12:58

1 resposta

1

Isso é normal. A finalidade de jobs não é mostrar todos processos em segundo plano; ele apenas lista os "jobs" que são atualmente de propriedade do seu shell e podem ser controlados por ele.

(Ou seja, em um shell interativo, o operador & , na verdade, os adiciona à lista de trabalhos na memória do shell. Mas como make inicia um processo de subshell new para cada comando de receita , a informação do trabalho não se propaga automaticamente para cima - apenas se perde.)

    
por 21.12.2017 / 13:24

Tags