我根据linux 手册页使用任务集,以便仅在特定内核上运行处理非常密集的任务。
任务集被封装在一个循环中。每次选择一个新的目标目录并且任务正在运行时。并行运行该过程多次可能会导致致命的结果。
伪代码如下:
#!/bin/bash
while :
do
target_dir=$(select_dir) # select new directory to process
sudo taskset -c 4,5,6,7,8,9,10,11 ./processing_intense_task --dir $target_dir
done
如果任务集实际上等待进程完成,我在文档中没有发现任何内容。
如果它不等待,我如何在启动新实例之前等待任务完成processing_intense_task
?