I am not still understanding the purpose of "ulimit" !
It is there to protect other users and the machine itself, it is _not_ necessarily meant to stop processes. Also see my previous reply:
- This tool (ulimit) will not necessarily stop the initial process, it will limit the use of resource for a user or a specific terminal.
- I'm not sure, but I would understand if the following scenario where true: Process A forks a sub-process B. Process B starts forking multiple processes (loop, intentional or not). Ulimit kills Process B and its children when reaching the limit, but process A remains.
3. Does "ulimit" has to started every time we restart computer ? Can't we set and fix the value somewhere ?
Yes, but you do not have to do this yourself.
I haven't used suse in a long time, but I do believe this is the place to check: /var/adm/fillup-templates/sysconfig.ulimit
also have a look here: ulimit - Set per-process limits (ulimits) [openSuse]
Hope this helps.