timeoutคำสั่งGNU coreutils มีประโยชน์อย่างยิ่งสำหรับสถานการณ์การเขียนสคริปต์บางอย่างซึ่งอนุญาตให้ใช้เอาต์พุตของคำสั่งหากมันรวดเร็วในการเรียกใช้และข้ามมันหากมันใช้เวลานานเกินไป
ฉันจะประมาณพฤติกรรมพื้นฐานของการtimeoutใช้ยูทิลิตี้ที่ระบุเฉพาะ POSIX ได้อย่างไร
(ฉันคิดว่ามันอาจจะเกี่ยวข้องกับการรวมกันของwait, sleep, killและผู้ที่รู้สิ่งอื่น แต่บางทีฉันหายไปวิธีการที่ง่ายขึ้น.)
command & pid=$! ; sleep 5 && kill $pid
commandเสร็จอย่างรวดเร็วมีโอกาสน้อยที่จะpidถูกนำกลับมาใช้โดยกระบวนการอื่นที่เริ่มต้นขึ้นก่อนที่killคำสั่งจะทำงานหรือไม่ ฉันไม่ต้องการรหัสนั้นในการผลิต ....
timeoutโปรแกรมและใช้มัน?