Hi, i have some Problems with the job control in zsh. In the following Script i tried to start 3 background processes, because thats the only way i know to run things parallel in zsh, and write a "dot" every two seconds during the runtime of this background Processes. #!/usr/bin/zsh #set -x for i in a b c do sleep 120 & done jobs -l jobs -l |wc -l var=`jobs -l|wc -l` while [ $var -gt "0" ] do print "." sleep 2 var=`jobs -l|wc -l` done The Problem is that "jobs -l" in the Script writes an complete background process list to stdout but "jobs -l|wc -l" just prints a "0"? When i run "jobs -l|wc -l" manual with some background jobs it is working fine. Can someone Point me i the right direction, i'm running out of useful ideas. Here the Output of the Script without set -x: #> ./test.sh [2] 4916 running sleep 120 [3] - 1716 running sleep 120 [4] + 4160 running sleep 120 0 here with set -x: #> ./test.sh +./test.sh:5> i=a +./test.sh:5> i=b +./test.sh:7> sleep 120 +./test.sh:7> sleep 120 +./test.sh:5> i=c +./test.sh:10> jobs -l [2] 3532 running sleep 120 [3] - 1600 running sleep 120 [4] + 5292 running sleep 120 +./test.sh:7> sleep 120 +./test.sh:12> jobs -l +./test.sh:12> wc -l 0 +./test.sh:14> var=+./test.sh:14> var=+./test.sh:14> jobs -l +./test.sh:14> wc -l +./test.sh:14> var=0 +./test.sh:16> [ 0 -gt 0 ']' My test environment: #> zsh --version zsh 4.3.12 (i686-pc-cygwin) BR Simon