Komenda GNU coreutils timeoutjest 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 timeoutprzy użyciu tylko narzędzi określonych w POSIX?
(Myślę, że może to wiązać się z kombinacji wait, sleep, killi kto wie co jeszcze, ale być może brakuje mi łatwiejszy podejście).
command & pid=$! ; sleep 5 && kill $pid
commandzakończy się szybko, istnieje niewielka szansa na ponowne pidużycie przez inny proces przed uruchomieniem killpolecenia? Nie chciałbym tego w kodzie produkcyjnym ....
timeoutprogramu i go użyć?