fffffh wrote:
#! /bin/bash
sig_usr1()
{
trap sig_usr1 SIGUSR1
nu-ti trebuie trap-ul asta suplimentar
echo $t
t=$((t+1))
}
trap sig_usr1 SIGUSR1
Si bash stie si semnale RT. Tocmai am testat. Dupa ce am dat-o in bara
cu 32 si 33, am citit in man ca "primele trei semnale sunt folosite de
LinuxThreads", asa ca m-am dus direct la 60 :)
--- script:
#!/bin/bash
t=1
sig_usr1()
{
echo $t
t=$((t+1))
}
trap sig_usr1 60
echo $$
while true; do read; done
--- run:
Faith:~# ./x.sh
5363
--- in alt terminal ---
for ((i=0;i<100;i++)); do kill -60 5363; done
-- output pe primul terminal:
1
2
3
...
100
-- Partea ciudata:
PID-urile lui x.sh se incrementeaza cu cate o unitate de fiecare data,
desi kill singur ar fi trebuit sa ia cate un PID la fiecare trecere prin
bucla. Daca stie cineva de ce...
-- Also:
Faith:~# bash --version
GNU bash, version 3.1.14(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Nu stiu ce face pa bash 2, dar avand in vedere ca "trap" ala are un
"signal/sigaction" in spate, ar trebui sa se comporte fix la fel.
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug