等待进程的所有子进程

问题描述 投票:0回答:1

我有一个可执行文件,运行时会创建子进程,然后终止。我想跟踪总执行时间,包括其所有子进程完成的时间。如果我简单地使用

time my_process
,它会立即返回父进程的执行时间。有办法解决这个问题吗?

time wait
1个回答
0
投票

我找到了基于此答案的解决方案。这个想法是打开一个文件,该文件将由所有子进程继承,然后等到该文件不再使用。所以,基本上我写了以下脚本(

my_script.sh
):

#!/bin/bash

foo=$(mktemp)
( flock -x 500; ./my_process; ) 500> "$foo"
flock -x 0 < "$foo"
rm "$foo"

我现在可以跑步了

time ./my_script.sh

© www.soinside.com 2019 - 2024. All rights reserved.