Lệnh GNU coreutils timeoutcực kỳ tiện lợi cho một số tình huống kịch bản nhất định, cho phép sử dụng đầu ra của lệnh nếu chạy nhanh và bỏ qua nếu mất quá nhiều thời gian.
Làm cách nào tôi có thể tính gần đúng hành vi cơ bản của timeoutviệc chỉ sử dụng các tiện ích được chỉ định POSIX?
(Tôi nghĩ nó có thể liên quan đến một sự kết hợp của wait, sleep, killvà ai biết được điều gì khác, nhưng có lẽ tôi là thiếu một cách tiếp cận dễ dàng hơn.)
command & pid=$! ; sleep 5 && kill $pid
commandkết thúc nhanh chóng, có khả năng nhỏ pidsẽ bị tái sử dụng bởi một quy trình khác bắt đầu trước khi killlệnh chạy? Tôi sẽ không muốn điều đó trong mã sản xuất ....
timeoutchương trình và sử dụng nó?