This is the mail archive of the cygwin@cygwin.com 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


Igor,

Thanks for your reply. I have tried your suggestion, and I got this error message saying that:

kill 2304: Operation not permitted

where 2304 being the PID. Any more suggestion?

Thank you,

Welly

Igor Pechtchanski wrote:

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



--
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/


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