makefile 运行的进程不在“作业”列表中

makefile 运行的进程不在“作业”列表中

为什么如果我通过 makefile 运行程序,它不会出现在列表中jobs,但如果我直接从命令行运行命令,它就会出现?

#:~/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$

答案1

这很正常。的目的jobs不是为了展示全部后台进程;它只列出当前正在运行的那些“作业”由你的 shell 拥有并能受其控制。

(也就是说,在交互式 shell 中,&操作员实际上将它们添加到 shell 的内存作业列表中。但由于make启动了一个新的每个配方命令的子 shell 进程,作业信息不会自动向上传播——它只是丢失了。)

相关内容