Der GNU- timeout
Befehl coreutils ist für bestimmte Skriptsituationen äußerst praktisch. Er ermöglicht es, die Ausgabe eines Befehls zu verwenden, wenn er schnell ausgeführt werden kann, und zu überspringen, wenn er zu lange dauern würde.
Wie kann ich das grundlegende Verhalten der timeout
Verwendung nur von POSIX angegebenen Dienstprogrammen approximieren ?
(Ich denke , es eine Kombination von umfassen kann wait
, sleep
, kill
und wer weiß , was sonst noch, aber vielleicht einen einfacheren Ansatz fehlt mir.)
command & pid=$! ; sleep 5 && kill $pid
command
schnellem Ende die Wahrscheinlichkeit gering ist, dass das System vor der Ausführung pid
des kill
Befehls von einem anderen Prozess erneut verwendet wird . Ich würde nicht wollen, dass in Produktionscode ....
timeout
Programm kompilieren und verwenden?