Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jan 2013 19:42:01 +0200
From:      Nikos Vassiliadis <nvass@gmx.com>
To:        Free BSD Questions list <freebsd-questions@freebsd.org>
Subject:   assigning values to variables in the background
Message-ID:  <50F594E9.7000606@gmx.com>

next in thread | raw e-mail | index | archive | help
Hi,

  A bit of an OT question. I am writing a bourne shell script that
collects data from a router. Since netstat & vmstat can run for
a numbers of iterations I thought I would use just that:

stats()
(
        nstats=`netstat -I ng0 -q 1 60 | tail -1` &
        rawdata=`vmstat -c 2 60 | tail -1`
        wait
...

The logic was:
1. run the first process in the bg
2. run the second process
3. wait to make sure the first process has finished
4. continue further

It makes perfect sense why this doesn't work. Both commands
run in the foreground.

I am going to split the time between netstat and vmstat. So, it
will be 30 seconds of netstat and 30 seconds of vmstat.

But I am still interested/curious how one should go for this using
the shell. So, can this be done without files? Any thoughts?

Thanks, Nikos



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50F594E9.7000606>