2013-06-20 2 views

ответ

0

Попробуйте сделать это:

SEC_MAX=10 

command_foobar & _pid=$! 

while kill -0 $_pid >/dev/null 2>&1; do 
    ((CUR_SEC >= SEC_MAX)) && exit 
    sleep 1 
    ((CUR_SEC++)) 
done 

Для большей ясности, вы можете заменить

((CUR_SEC >= SEC_MAX)) && exit 

по

if ((CUR_SEC >= SEC_MAX)); then exit; fi 
+0

Тест @HOME ok для меня –

+0

как насчет определения времени выполнения команды? Нет ли простого способа сделать это? Я хочу показать точное время выполнения для различных задач. Убийство запроса было вторичным. Это будет только детализацию времени до секунд. – slimbo

+0

Вы можете использовать 'stat -c% Y/proc/$ _ pid', если хотите. Это время эпохи $ _pid PID. –

0

относительно синхронизации команды:

time yourCommand yourArguments 

будет печатать истекшее, пользовательское и системное время вашей команды. В ksh и bash это встроенный, в противном случае также есть /usr/bin/time.