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

Raspunde prin e-mail lui