Portál AbcLinuxu, 16. července 2025 21:03
while true; do cokoliv; done
Ukončení procesů lze obvykle sledovat tak, že je spustíš jako potomky a připojíš se na SIGCHLD nebo použiješ waitpid(), opět s nulovou zátěží CPU.
na konkretnim pripadu nejakem jednoduchem?
info libc
sekce Processes, jsou tam i příklady
while : do echo $(date) Start >>/var/log/cokoli.log cokoli & wait $! echo $(date) Konec >>/var/log/cokoli.log done
load_is_at_least() { local l=$(</proc/loadavg); test ${l%%.*} -ge $1; } while load_is_at_least 5; do sleep 5; done echo Hurá
while read load1 load5 load15 rest </proc/loadavg ; do if test "${load1%.*}" -ge 5; then echo "Load >= 5" fi sleep 1 done
while read <soubor
dá pěkně upotřebit. To mě nenapadlo.
[1]+ Stopped ./test
.
Jak tedy udelam aby bezel script na pozadi i po opusteni konzole (putty)?
alias kanarek='sleep 10' log=/var/log/kanarci.log a() { echo -e "$(date) Umrel\n$(date) Start noveho" >> $log kanarek & } b() { trap - CHLD kill -SIGTERM $(jobs -lp) echo "$(date) Mel jsem deset kanaru, uz nemam." >> $log exit 0 } trap a CHLD trap b TERM INT QUIT for i in $(seq 10); do kanarek & done echo "$(date) Ja mam deset kanarku" >> $log wait echo "$(date) What's fucking hapend?" >> $log
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.