BGPWatch is a Linux and BSD background process monitor written in Perl. It is useful for controlling how many processes each user has running , what processes they are running, and what they are allowed to run.
Be the first to post a text review of BGPWatch. Rate and review a project by clicking thumbs up or thumbs down in the right column.
A new version of BGPWatch is written and being tested. The new version uses /proc instead of the output from ps for maintaining a list of processes. The most important thing about this change is that it has allowed me to close up a security issue that has been around from the beginning. With current versions a user can name any of their executables, such as eggdrop, to the name of one of your processes that you do not count against them and then it will not go against their limit. With this new version you can specify a full path to programs that you do not want to count against a user, such as /usr/bin/vi, and then that is also checked so if a user renames their eggdrop to vi it still counts against their total since it is in /home/username/whatever/.
BGPWatch-2.3.1 is finally released after several weeks of running on one of my servers with no issues. There are no new features this time around, just a bunch of optimized code to do away with placeholder variables and temporary files.
Well, the new BGPWatch I announced some time ago has finally been installed on one of my production servers. I'll leave it running there for a few days to make sure it doesn't do anything crazy and then put it on here for all of you to use.
BGPWatch has undergone some significant changes. * Disk I/O has been reduced to only reading the config files on startup, rather than writing all user processes to disk and then reading those files again seconds (or less) later. * Multiple unnecessary loops through arrays have been removed. * Several excess temporary or placeholder scalars and arrays have been removed.
bgpwatch-2.3 has been released after running on a production box for around 2 months with no issues. I have added a test mode (defaults to on) which will just tell you which processes would have been killed rather than actually killing them. This should make testing to make sure you've got everything configured properly a lot safer. Support for using full usernames rather than the shortened usernames that ps outputs has been added, so you'll need to update your userlist and ignorelist if you're running an older version. BSD support has been added. This has only been tested on FreeBSD, so if you try it out on another version and it doesn't work, please let me know. I am planning changes for the next release now, which will probably jump up to 3.0 as they should be pretty big changes. As you can tell from looking at the file release dates, that could be a month or it could be two years from now when I get around to actually doing it. The planned changes are to break up the current monolithic code into seperate functions which should make future tweaks and changes easier and to stop using ps and switch over to Proc::ProcessTable. It seems like I looked into Proc::ProcessTable before and decided not to go with it for some reason, but I don't see why that would have been, so I'm going to check it out again.
I put test mode into v2.3 last night and it seems to work as intended. I think this will be very helpful in ensuring that you've got bgpwatch configured how you want it before you let it start killing processes.
Be the first person to add a text review.
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: