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