Я хочу запускать различные задачи командной строки. Как я могу узнать, сколько времени требуется выполнить для выполнения задачи, а затем отменить ее условно из командной строки или сценария bash?Сколько времени требуется для выполнения моей команды
-1
A
ответ
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
относительно синхронизации команды:
time yourCommand yourArguments
будет печатать истекшее, пользовательское и системное время вашей команды. В ksh и bash это встроенный, в противном случае также есть /usr/bin/time
.
Тест @HOME ok для меня –
как насчет определения времени выполнения команды? Нет ли простого способа сделать это? Я хочу показать точное время выполнения для различных задач. Убийство запроса было вторичным. Это будет только детализацию времени до секунд. – slimbo
Вы можете использовать 'stat -c% Y/proc/$ _ pid', если хотите. Это время эпохи $ _pid PID. –