如果我有一个run_script
, 其内容是:
#run_script file
ls
然后我就可以用来bash run_script
运行ls
命令了。但现在我有一个run_script
,它的内容是:
#run_script file
python3 mate30pro5g.py & python3 Mathematica.py & python3 opencv.py &
jobs
我发现运行后无法通过命令检查任何后台任务bash run_script
。但我可以发现所有任务都在运行ps aux | grep python3
。但我想用它jobs
来管理所有任务,为什么这个命令找不到检查呢?我错过了什么?
答案1
如果您使用 启动新 shell,您将失去作业控制权bash run_script
。您的 python 进程作为新启动的 bash 进程的子进程运行,当您的脚本终止时,它们将与其(现已死亡)父进程分离。要将程序作为当前 shell 的子程序启动,您可以使用以下命令获取脚本
. run_script
您可以看到与 的区别ps auxf
。