Ben sleep
komutu aracılığıyla uyuyor bir bash komut SIGUSR1
sinyali yakalamaya çalışıyorum:kesme uyku
#!/bin/bash
trap 'echo "Caught SIGUSR1"' SIGUSR1
echo "Sleeping. Pid=$$"
while :
do
sleep 10
echo "Sleep over"
done
sinyal kapanı eserler, ancak ileti olmak yankılanır sleep 10
bitene kadar görüntülenmez.
Bash sinyal işleme, mevcut komut sinyal işlenmeden önce bitene kadar bekler.
Sinyal geldiği anda çalışan sleep
komutunu kesmeye çalışmanın bir yolu var mı, bir C programı libc sleep()
işlevini kesintiye uğratır mı?
sleep infinity &
wait
arka planda uyku koyar ve sinyal ile bekleme durdurur
Bazı [İlgili bilgi] (http://mywiki.wooledge.org/SignalTrap#When_is_the_signal_handled.3F) – iruvar
böyle "uyku sonsuz &" – gregoiregentil
bağlantı değer @iruvar kilo altın var olarak sonsuza tarafından 10 değiştirin. Bir uykuyu farklı bir süreçten kesememek * çok çok karşı-sezgisel *. –