Komenda GNU coreutils timeout
jest niezwykle przydatna w niektórych sytuacjach skryptowych, pozwalając na użycie danych wyjściowych polecenia, jeśli jest ono szybkie, i pomijanie, jeśli zajmie to zbyt dużo czasu.
Jak mogę przybliżyć podstawowe zachowanie timeout
przy użyciu tylko narzędzi określonych w POSIX?
(Myślę, że może to wiązać się z kombinacji wait
, sleep
, kill
i kto wie co jeszcze, ale być może brakuje mi łatwiejszy podejście).
command & pid=$! ; sleep 5 && kill $pid
command
zakończy się szybko, istnieje niewielka szansa na ponowne pid
użycie przez inny proces przed uruchomieniem kill
polecenia? Nie chciałbym tego w kodzie produkcyjnym ....
timeout
programu i go użyć?