Команда GNU coreutils timeoutнадзвичайно зручна для певних сценаріальних ситуацій, дозволяє використовувати вихід команди, якщо вона швидко запускається, і пропускати її, якщо це займе занадто довго.
Як я можу наблизити основну поведінку timeoutвикористання лише визначених POSIX утиліт?
(Я маю в виду , що може включати в себе комбінацію wait, sleep, killі хто знає , що ще, але , можливо , я НЕ вистачає більш легкий підхід.)
command & pid=$! ; sleep 5 && kill $pid
commandшвидко закінчується, є невелика ймовірність pidповторного використання іншого процесу до запуску killкоманди? Я б не хотів, щоб це у виробничому коді ....
timeoutпрограму і не використовувати її?