Killing child process in ksh

I have a script that (ideally) starts tcpdump, sleeps a given number of seconds, then kills it.

When I do this for 10 seconds or and hour, it works fine. When I try it for 10 hours (the length I actually want) it just doesn't die, and will actually stick around for days.

Relevant part of my script:

secondstime=$(($HOURSRUN * 60 * 60))
tcpdump -ni hme0 -w ${LOGDIRECTORY}${LOGFILE}`date +%m%d`.log -F $EXPRESSIONFILE&
sleep $secondstime
kill %1

Using 'ps', I can see that sleep got the right number of seconds. My ksh version is: @(#)PD KSH v5.2.14 99/07/13.2

Any ideas or better ways to do this would be appreciated.

maybe use kill -9, not great practise but will definately kill it. Might be worth creating a cron job to perform the command if it's something you're going to be doing on a regular basis for 10 hours.