runlimwin
Contents
- Introduction
- runlimwin -h output
- Additional info - unimportant
- License
- Download
- Compilation
- Development
Introduction
runlimwin -h output
runlimwin 1.1 compiled 20111023 1326, Copyright (C) 2010-2011 Jarek Czekalski Addresses: jarekczek@poczta.onet.pl, http://jarek.katowice.pl/runlimwin-en Usage: runlimwin.exe [option [value]] <command line> runlimwin runs a specified child process and watches it against memory and time usage. If the limits are exceeded the child process is terminated. However terminating a proces with real-time priority may be impossible. Application works under NT/XP/2K or higher. Options: -h - display this screen -L - show license --version -m n - memory limit in MB -t n - time limit in ms -v - verbose -in <file> - input file (default is the input of runlimwin.exe) -out <file> - ouput file (default is the output of runlimwin.exe) -err <file> - error file (default is the standard error of runlimwin.exe) -pr n - priority of the child process: 1=idle, 2=low, 3=normal, 4=above normal, 5=high, 6=real-time priority -poll n - polling interval in ms to watch for memory limit (if -m specified), default: 100ms Example: runlimwin.exe -m 4 -t 1000 test.exe <in.txt >out.txt
Additional info - unimportant
While I was looking for an original name for this program I discovered runlim is already taken. It seems to be a similar program, but targeted at linux. runlim is available under BSD license. So runlimwin seemed to be a perfect fit.
This is my first GNU project. All the documentation and building staff plus development support tools grew bigger than the source code itself. I do it as a pilot for further GNU projects which I hope to share soon. I became a great fan of GNU and other open source projects. They make great software, like wine, multimedia mplayer, ffmpeg, text editor jedit, barcode reader zbar. I engage in these projects and try to share all I have as GNU resources. Why should many people around the world write the same software from scratch? Let's do it once and don't loose our resources for repeating.
License
This program is licensed under GNU General Public License, version 3.0 or later. This means it may be used for free, but without any warranty. It may be also modified for private use. If one wants to distribute it, he may do that provided he complies with the license.
Full text of license is here: GNU General Public License 3.0 or there: GPL at gnu.org. Short explanations are also available at wiki GNU GPL.
Download
2011-09-16 Version 1.1. Windows executable and source: runlimwin_1_1.zip
Contents
Zip file contains main executable: runlimwin.exe and its source.
A test file with source code is also provided.
Html files are made of tex files and they form project documentation.
build.xml is an ant script which helps me in automating building and packaging.
Compilation
I use a following line to cross compile under linux:
i586-mingw32msvc-g++ runlimwin.cpp -lpsapi -o runlimwin.exe
What's strange is that compilation will fail if psapi is mentioned before cpp file.
I would like to extend this list with command lines for different compilers. Please send me a line for your compiler if it is not listed here. Remember to always force linking with psapi.dll which is usually not done by default.
Development
You are welcome to develop runlimwin. The simplest things to do is reporting bugs if it does not work as expected. Feature requests are also possible. Both these things should go through bugzilla.
If there is something to discuss before reporting, please use the dedicated forum.
Finally you can make direct changes in the software or documentation.
I will incorporate those changes and publish.
Please send them in a form of a patch to forum or bugzilla.
A patch file is generated by using command diff -u
.
If it will be needed I can move the source to
an svn repository.
In any case you can contact me through email.
Last modification: Oct 23 2011
Keywords: limit process memory, limit process time, terminate, TLE time limit exceeded, MLE memory limit exceeded