Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let's say I have program #1 launching program #2 which is launching program #3.

If I call

ulimit -t 10

before calling program #1, then EACH program will be alloted 10 seconds of CPU time.

Could I have this limit apply to the total CPU time used by all 3 programs? Basically I'm talking about the time as shown by 'top -S' - this will show the total cumulative CPU time including all spawned "subprocesses".

Most useful to me would be to have this cumulative behavior apply for "-t" (CPU time). It would be great though if I could have it apply to the other flags as well (maximum memory used etc.).

If ulimit can't do this, is there an alternate way of doing it?

share|improve this question
up vote 1 down vote accepted

Take a look at cgroups ("contol groups"):

share|improve this answer

this limit is imposed per process ; as long they are seen as different processes (top, htop, ps) the limit will be for each. rewrite the code and make the second and third program worker threads.

share|improve this answer

You must log in to answer this question.