Quiero ejecutar un script de shell que tenga un bucle y pueda continuar para siempre, lo que no quiero que suceda. Entonces necesito introducir un tiempo de espera para todo el script.
¿Cómo puedo introducir un tiempo de espera para todo el script de shell en SuSE?
shell-script
timeout
Radek
fuente
fuente
timeout
oexpect
)Respuestas:
Si GNU
timeout
no está disponible, puede usarloexpect
(Mac OS X, BSD, ... generalmente no tiene herramientas y utilidades GNU por defecto).Editar ejemplo:
fuente
timeout
sí mismo es 124 en el caso de un tiempo de espera, de lo contrario es el estado de retorno del comando (esto se menciona en la respuesta de Tim Kennedy).Gracias por la aclaración.
La forma más fácil de lograr lo que busca es ejecutar su script con el bucle dentro de un contenedor como el
timeout
comando del paquete GNU Coreutils.Al final, será mucho más fácil que escribir su propia función de tiempo de espera, que las conchas tienden a no tener incorporado.
fuente
gtimeout
en mi configuración (OSX).Inicie un proceso de vigilancia desde su script para matar a su padre si se ejecuta demasiado tiempo. Ejemplo:
El guardián terminará este script después de cinco segundos.
fuente
También hay
cratimeout
de Martin Cracauer.fuente
fuente