URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8856
[ Назад ]

Исходное сообщение
"ограничение времени выполнения скрипта"

Отправлено obl , 15-Сен-10 16:11 
задача такая - на баше нужно ограничить время выопления скрипта. после истечения которого ему будет посылаться киллом какой-нибудь сигнал завершения, как можно это реализовать?


есть идея как-то перехватывать его пид и ставить на паузу контроллирующий скрипт, после чего килять, но чем перехватить не знаю


Содержание

Сообщения в этом обсуждении
"ограничение времени выполнения скрипта"
Отправлено Andrey Mitrofanov , 15-Сен-10 16:23 
>есть идея как-то перехватывать его пид и ставить на паузу контроллирующий скрипт,
>после чего килять

Да.

$ cat <<TMR >tmr
#!/bin/sh

( sleep 5; kill $$ ) &

echo $$
ps -H

for((i=0; i<10; i++)) do
  echo "$i..."
  sleep 1
  done
TMR
$ chmod +x tmr
$ ./tmr
3302
  PID TTY          TIME CMD
15186 pts/13   00:00:04 bash
3302 pts/13   00:00:00   tmr
3303 pts/13   00:00:00     tmr
3304 pts/13   00:00:00       sleep
3305 pts/13   00:00:00     ps
0...
1...
2...
3...
4...
Завершено
$ _


"ограничение времени выполнения скрипта"
Отправлено obl , 15-Сен-10 16:29 
ок, спасибо!

"ограничение времени выполнения скрипта"
Отправлено obl , 15-Сен-10 18:08 
ошибся, это не то что нужно...
надо чтобы это можно было уместить в одну строку - чтоб заупускать по крону


"ограничение времени выполнения скрипта"
Отправлено Kertio , 15-Сен-10 18:16 
>ошибся, это не то что нужно...
>надо чтобы это можно было уместить в одну строку - чтоб заупускать
>по крону

Размести это в скрипте и вызывай его из крона.


"ограничение времени выполнения скрипта"
Отправлено obl , 15-Сен-10 18:19 
>ошибся, это не то что нужно...
>надо чтобы это можно было уместить в одну строку - чтоб заупускать
>по крону

будет очень много скриптов, я уже думал об этом
хочу упростить


"ограничение времени выполнения скрипта"
Отправлено meantraitor , 15-Сен-10 19:21 
script& sleep 5; kill $!

"ограничение времени выполнения скрипта"
Отправлено obl , 15-Сен-10 21:23 
>script& sleep 5; kill $!

большое спасибо


"ограничение времени выполнения скрипта"
Отправлено phpcoder , 15-Сен-10 22:37 
В coreutils присутствует timeout(1). А ещё есть timelimit (http://devel.ringlet.net/sysutils/timelimit/).



"ограничение времени выполнения скрипта"
Отправлено anonymous , 16-Сен-10 00:15 
>В coreutils присутствует timeout(1). А ещё есть timelimit (http://devel.ringlet.net/sysutils/timelimit/).

а еще есть hatools, а в них -- halockrun и hatimerun