我有这样的文件:
ls
mate30pro5g.py Mathematica.py opencv.py
我知道这个命令可以启动后台任务:
python3 mate30pro5g.py &
现在我想通过这个命令启动多个任务:
ls *.py | xargs -n1 -i python3 {} &
但我发现我只启动了一项后台任务。我错过了什么?
ps:注意我所有的.py
文件都有一个无限循环..
我有这样的文件:
ls
mate30pro5g.py Mathematica.py opencv.py
我知道这个命令可以启动后台任务:
python3 mate30pro5g.py &
现在我想通过这个命令启动多个任务:
ls *.py | xargs -n1 -i python3 {} &
但我发现我只启动了一项后台任务。我错过了什么?
ps:注意我所有的.py
文件都有一个无限循环..
问题是
&
由调用 shell 解释的,这不是传输到 xargs 。所以你必须调用 bash 来执行 python3 和你 args 。
解决方案:
一个例子:
另一个解决方案,因为您想通过作业管理所有流程。您需要创建一个包含所有命令的大字符串并调用
eval
它。或者