DCV VI

Uživatelský avatar
tutchek
Site Admin
Příspěvky: 795
Registrován: 21. 9. 2004 00:40
Typ studia: Informatika Mgr.
Bydliště: Praha, Bohnice
Kontaktovat uživatele:

DCV VI

Příspěvek od tutchek »

Stopky pres signaly, ne READ!

na zacatku napsat na tabuli!

bude pisemka, naucit se format mailu
exAdmin. Magistr přes umělou inteligenci. Právník přes daně.
Uživatelský avatar
tutchek
Site Admin
Příspěvky: 795
Registrován: 21. 9. 2004 00:40
Typ studia: Informatika Mgr.
Bydliště: Praha, Bohnice
Kontaktovat uživatele:

Příspěvek od tutchek »

#!/bin/sh

stopky_bezi=0;
START=0;
UZ_UBEHLO=0;

echo "Program STOPKY";
echo "Ovladani:";
echo "--------------";
echo "Spustit stopky/pokracovat v behu: kill -CONT $$";
echo "Zobrazit cas, neskoncit stopky: kill -TRAP $$";
echo "Stopnout stopky, ukazat cas: kill -INT $$";
echo "Vynulovat stopky (+zastavit): kill -ABRT $$";
echo "Zobrazit cas pokud stopky bezi a skoncit: kill -HUP $$";

trap '
stopky_bezi=1;
START=`date +%s`;
echo "Stopky spusteny!";
' CONT;

trap 'if [ $stopky_bezi = 0 ]; then
if [ $UZ_UBEHLO != 0 ]; then
echo "Stopky pozastaveny na hodnote $UZ_UBEHLO s";
else
echo "Stopky nebezi!!";
fi
else
TED=`date +%s`;
echo "`expr $TED - $START + $UZ_UBEHLO`s";
fi
' TRAP;

trap 'stopky_bezi=0;
UZ_UBEHLO=0;
echo "Stopky vynulovany a zastaveny!";
' ABRT;

trap 'if [ $stopky_bezi = 0 ]; then
echo "Stopky nebezi!!";
else
TED=`date +%s`;
UZ_UBEHLO=`expr $TED - $START + $UZ_UBEHLO`;
echo "$UZ_UBEHLO s";
echo Pauza;
stopky_bezi=0;
fi
' INT;

trap 'echo ""; if [ $stopky_bezi = 1 ]; then
TED=`date +%s`
echo "`expr $TED - $START + $UZ_UBEHLO`s";
echo Koncim!;
elif [ $UZ_UBEHLO != 0 ]; then
echo "Stopky pozastaveny na hodnote $UZ_UBEHLO s";
fi;
echo "Program stopky ukoncen!";
exit 0
' HUP;

until [ 0 = 1 ]; do
:
done
exAdmin. Magistr přes umělou inteligenci. Právník přes daně.
Uživatelský avatar
Isidor
Adoptoval Tutcheka
Adoptoval Tutcheka
Příspěvky: 247
Registrován: 8. 12. 2004 23:22
Typ studia: Informatika Mgr.
Bydliště: mám
Kontaktovat uživatele:

Příspěvek od Isidor »

Kód: Vybrat vše

reset(){
cas=`date +%s`
echo Vynulovane
}
vypis(){
echo Ubehlo `expr \`date +%s\` - $cas` s
}

reset

echo Nieco ako stopky...
echo Ctrl+C - vynulovanie
echo Ctrl+\\ - vypis ubehnuteho casu
echo \"Enter\" - koniec

trap "reset" SIGINT
trap "vypis" SIGQUIT

read
Inteligentních lidí je menšina. Demokracie je vláda většiny.
Odpovědět

Zpět na „2004“