Shell Script to kill a process automaticaly
Hello Guys!
I´d like your help to solve a trouble in my system. I have two special process running in my server, each process consume about 400MB of RAM memory, sometimes this processes consume more than 400MB of memory and when this happens the service stops. I´d like to create a shell script that always a process consume more than X MB this script kill the process aumomaticaly. Actually I´d like a general ideia of how could I do this. Thank you very much!!! |
you can use a c script using sysctl to retrieve information and then the processes with the x mb usage their id can be retrieved and then u can kill them with killall
some info about sysctl http://www.hmug.org/man/3/sysctl.php |
...or simply use Monit.
|
works too :P
but he asked for an idea of a script i gave it :P |
but he asked for an idea of a script i gave it
You're quite right at that. Though sometimes it's good to give people solutions they couldn't have thought of. Reasons? OK: 0. I don't see any error-free scripting happening (esp. not with using sysctl, but OK), 1. C being faster compared to shell, 2. Monit is versatile, 3. Reinventing the wheel aint necessary, 4. I use it and I find it performs well (though that's no objective argument, OK). |
I'd suggesting fixing the process that's consuming 400Megs. Either it's eating the memory with a leak or by design, both of which can be corrected.
|
crabboys suggestion aside (which is the most sensible ;]) I'd suggest
looking at ulimit ... something like 'ulimit -m 409600' should do the trick for your problem quite nicely. Cheers, Tink |
true
and Quote:
|
but its fun | thats worth some right?
Definately. |
Hello people!!
I´m pleased your attention and effort on my issue, among the solutions you suggested to my I´ve decided to use Monit. It´s working well. For those that does not know it, please access this link, there is a very interesting article about Monit, it help me a lot, perhaps may be useful for you as well. Thanks all you, thank you unSpawn |
|
Quote:
|
All times are GMT -5. The time now is 01:43 AM. |