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