On 10/6/21 5:47 AM, Leonard Crestez wrote: > Sleeping for one second after a kill is not necessary and adds up quite > quickly. Replace with a fast loop spinning until pidof returns nothing. > > Signed-off-by: Leonard Crestez <cdleonard@xxxxxxxxx> > --- > tools/testing/selftests/net/fcnal-test.sh | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/net/fcnal-test.sh b/tools/testing/selftests/net/fcnal-test.sh > index 0bd60cd3bc06..b7fda51deb3f 100755 > --- a/tools/testing/selftests/net/fcnal-test.sh > +++ b/tools/testing/selftests/net/fcnal-test.sh > @@ -176,12 +176,19 @@ show_hint() > fi > } > > kill_procs() > { > - killall nettest ping ping6 >/dev/null 2>&1 > - sleep 1 > + local pids > + while true; do > + pids=$(pidof nettest ping ping6) > + if [[ -z $pids ]]; then > + break > + fi > + kill $pids > + sleep 0.01 > + done > } > > do_run_cmd() > { > local cmd="$*" > ideally the script keeps track of processes it launches and only kills those. The original killall was just a stop gap until the process tracking was added.