Hi, For the most part, I've stopped using job files and use a script to write/execute a fio command line. I do end up with hideously-long command lines (>1100 chars), but can stash all the parameters in the script or included file and easily iterate over certain ones. I start with things like this: set FioCmd { \ /var/tmp/fio --create_serialize=0 --time_based --norandommap --ioengine=solarisaio --minimal \ --randrepeat=0 --fill_device=1 --iodepth=32 --group_reporting --ramp_time=0 --unlink=0 --overwrite=1 \ --size=${SIZE} --rw=${DIR} --bs=${BS} --ba=${BS} --runtime=${RUNTIME} } and set FioJobs { \ --name=file__0 --filename=/${MNT}/${PN}/${HN}/fiofile.0 --name=file__1 --filename=/${MNT}/${PN}/${HN}/fiofile.1 \ --name=file__2 --filename=/${MNT}/${PN}/${HN}/fiofile.2 --name=file__3 --filename=/${MNT}/${PN}/${HN}/fiofile.3 \ --name=file__4 --filename=/${MNT}/${PN}/${HN}/fiofile.4 --name=file__5 --filename=/${MNT}/${PN}/${HN}/fiofile.5 \ --name=file__6 --filename=/${MNT}/${PN}/${HN}/fiofile.6 --name=file__7 --filename=/${MNT}/${PN}/${HN}/fiofile.7 \ --name=file__8 --filename=/${MNT}/${PN}/${HN}/fiofile.8 --name=file__9 --filename=/${MNT}/${PN}/${HN}/fiofile.9 \ --name=file__10 --filename=/${MNT}/${PN}/${HN}/fiofile.10 --name=file__11 --filename=/${MNT}/${PN}/${HN}/fiofile.11 } do variable substitution, bolt on a "--output", and exec the entire string: set cmdstring [ concat \ exec -- ssh "${uname}@${thisclient}" [subst ${FioCmd}] \ [subst $OPTS] \ --output ${outDataDir}/${filetag}-${thisclient}.fio \ [subst $FioJobs] & ] } There's a bit more magic involved to run multiple instances at once. (This, of course, didn't actually answer the OP's question.) z! ��.n��������+%������w��{.n�������^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�