break posiela SIGTSTP. v zavislosti na akom UX/UX-like si, tak cez "kill -l" zistis, ktory je to signal. problem je, ze trap ten signal nestihne dostat, kedze susp dostane najskor jeho parent (shell). je to celkom zaujimavy problem; mne sa to nepodarilo spravit cez trap. workaround by mohol byt cez stty. na ukazku script:
#!/bin/sh
DEBUG=1
ORIG_STTY="`stty -g`"
[ ${DEBUG} ] || printf "DEBUG: orig stty: ${ORIG_STTY}\n";
stty susp ^Q -echo
cleanup() {
printf "cleanup\n"
stty ${ORIG_STTY}
exit 0;
}
trap 'cleanup' INT
printf "starting endless loop..\n"
while true; do
printf ".";
sleep 1;
done
v principe nastavim susp na nieco ine. cez trap chytim INT, aby som mal moznost po sebe upratat a vratit term nastavenia do povodneho stavu. -echo aby sa neukazovali ziadne (pre mna) nechcene znaky.
neviem si spomenut ani sa na rychlo dogooglit, ci sa da susp nastavit na NULL. podla man chce CHAR, takze som si nie isty.