This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ulimit

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:

	process-to-check &
	trap "kill -9 $WPID" INT
	(sleep $duration; kill -9 $WPID) > /dev/null 2>&1 &
	wait $WPID
	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...
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,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:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]