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