rt allow to run programs in real time under Linux Download it with: wget -O rt.c http://dwnl.nisu.org/dwnl/rt.c/dwnl Compile it doing: gcc -s -o /usr/local/sbin/rt rt.c Usage /usr/local/sbin/rt [ -m msg ][ -s seconds ][ -p pid ][ -q pid ][ -n ][-x program [args] --- ] -s causes background and continues after a while -p sets RT to pid (pid=0 is last pid) -q removes RT to pid -x run in RT program with args -m set the next message, can contain %d, use -m '' to avoid default messages. Arguments are processed sequentially and can be repeated, except -n that causes program to exit rt will only wait for first -x program Examples: /usr/local/sbin/rt -m $'Sleep %d seconds\n' -s 4 -m $'Removing RT to %d\n' -q 333 \ -m $'Sleep %d more seconds\n' -s 5 -m $'You arent yet in RT\n' -q $$ /usr/local/sbin/rt -m $'Runing sleep 100\n' -x sleep 100 --- \ -s 10 -m $'sleep not yet in RT\n' -q 0 /usr/local/sbin/rt -m '' -s 5 -m $'Setting caller proces %d in RT\n' -p 0 # sleep 60 in RT during 5 secons, do no wait for sleep 100 /usr/local/sbin/rt -x sleep 60 --- -s 5 -q 0 -x sleep 100 --- -s 5 -q 0 # to see better the effect, run: /usr/local/sbin/rt -x bash -c 'sleep 60; echo a' --- -s 5 -q 0 -x bash -c 'sleep 100; echo b' --- -s 5 -q 0 # after 10 seconds 'runload' will not be in RT, BUT 'bash' will be, if you have only a processor your system will crash. /usr/local/sbin/rt -x runload -t 1 bash -c 'while true; do true; done' --- -s 10 -q 0 If not called by root, dont process any argument, simply removes RT of the caller process (bash, for example) and exit with status=2 Put your sshd in RT: /etc/rc.local /usr/local/sbin/rt -p $(