Date: Mon, 25 Nov 1996 10:50:05 -0600 (CST) From: Joe Greco <jgreco@brasil.moneng.mei.com> To: mtaylor@cybernet.com (Mark Taylor) Cc: hackers@FreeBSD.org Subject: Re: Hang your machine with ScrollLock Message-ID: <199611251650.KAA15011@brasil.moneng.mei.com> In-Reply-To: <XFMail.961125105744.mtaylor@cybernet.com> from "Mark Taylor" at Nov 25, 96 10:43:25 am
next in thread | previous in thread | raw e-mail | index | archive | help
> Here's a good one I did the other day (by accident):
>
> I have a cron job that runs every two minutes to display the
> uptime on the console (to make sure that it keeps scrolling)
> on the company's name server (uptime > /dev/console).
>
> I put the console in scroll-lock mode by accident. About
> 0.5 hours later, name resolving was dead. I went to the
> name server machine and saw about 20 or so of these 'uptime'
> processes running, waiting to output to the console. So many
> of these were running (along with CRON processes and sh processes)
> that the system could not create more processes (as the syslog
> told me).
>
> As soon as I hit the scroll-lock key, everything was fine-
> all of the uptime processes completed, and name serving
> went on as usual.
>
>
> Just something to think about. I don't have any bright ideas
> about a workaround. Maybe auto-disabling ScrollLock mode when
> there are 'too may' processes waiting on vty output?
>
> I know, I know, I should not do stupid things like this. :)
I second this. I would be quite content if there was a way to maybe
set this with vidcontrol.
I noticed kbdcontrol has a "-h" option, if this sets the number of
scrollback lines saved, maybe if set to 0 it disables scroll-lock.
I tried playing with it on a 2.0.5R box to see what it did and got a
panic: multiple frees. Sigh.
Mildly related-
Stupid /etc/ttys scripts follow:
-------%<------- I use this one on various server machines.
% cat /usr/local/bin/topcons
#! /bin/sh -
PATH=/bin:/usr/bin:/usr/local/bin; export PATH
device=/dev/${1}
cons=`echo ${1} | sed 's:ttyv::'`
cons=`expr ${cons} + 1`
if [ ! -c ${device} ]; then
echo "${device} is not character special device!" 1>&2
exit 1
fi
TERM=cons25; export TERM
sleep 5 < ${device}&
stty sane tty crt < ${device}
reset < ${device} > ${device}
clear < ${device} > ${device}
switchcons ${cons} < ${device}
top -q < ${device} > ${device}
clear < ${device} > ${device}
exit 0
-------%<------- I use this one on various terminal servers.
% cat /usr/local/bin/whoson
#! /bin/sh -
PATH=/usr/bin:/bin:/usr/sbin; export PATH
TERM=cons25; export TERM
(
while true; do
clear
finger -h
echo ""
echo "-------------------------------------------------------------------------------"
echo ""
last -10
sleep 15
done
) < /dev/ttyv3 2>&1 > /dev/ttyv3
-------%<-------
Both are clearly not very polished.
... JG
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611251650.KAA15011>
