Mail Archives: cygwin/2002/12/04/20:05:15
On Thu, 5 Dec 2002, Welly Santosa wrote:
> Hi,
>
> I would like to set the maximum CPU time into a few minutes only. When I
> tried to use ulimit (using CYGWIN), it gave me this:
>
> $ ulimit -t 100
> bash: ulimit: cpu time: cannot modify limit: Invalid argument
>
> So, is this option not supported? if not, is there any other option
> where I can limit one process to be able to run
> for only a limited amount of time?
>
> PS: The reason for me doing this is so that I can check whether a
> process loops forever.
> Thank you in advance.
>
> Best regards,
>
> Welly Santosa
> Software Engineer
> Mediaware Solutions Pty Ltd.
As far as I'm aware, ulimit doesn't work on Cygwin, sorry.
However, yours is the easiest case to implement without ulimit: use a
deadman timer, something like this:
#!/bin/sh
process-to-check &
WPID=$!
trap "kill -9 $WPID" INT
(sleep $duration; kill -9 $WPID) > /dev/null 2>&1 &
SPID=$!
wait $WPID
RES=$?
kill -9 $SPID
exit $RES
where 'process-to-check' is the process you want to limit, and 'duration'
is the time limit (in seconds) that you want to impose. You may need to
do something more sophisticated if your process can spawn other processes.
Hope this helps...
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -