Je veux exécuter un script shell qui a une boucle et qui peut aller pour toujours, ce que je ne veux pas. J'ai donc besoin d'introduire un délai d'attente pour l'ensemble du script.
Comment puis-je introduire un délai d'attente pour l'ensemble du script shell sous SuSE?
shell-script
timeout
Radek
la source
la source
timeout
ouexpect
)Réponses:
Si GNU
timeout
n’est pas disponible, vous pouvez utiliserexpect
(Mac OS X, BSD, ... n’ont généralement pas d’outils et d’utilitaires GNU par défaut).Exemple d' édition :
la source
timeout
est 124 dans le cas d'un délai d'attente, sinon il s'agit du statut de retour de la commande (cela est mentionné dans la réponse de Tim Kennedy).Merci pour la clarification.
Le moyen le plus simple d'accomplir ce que vous recherchez est d'exécuter votre script avec la boucle dans un wrapper similaire à la
timeout
commande du package GNU Coreutils.En fin de compte, ce sera beaucoup plus facile que d’écrire votre propre fonction de délai d’attente, que les shells n’ont généralement pas intégrée.
la source
gtimeout
sur ma configuration (OSX).Lancez un processus de surveillance à partir de votre script pour tuer son parent s'il est exécuté trop longtemps. Exemple:
Ce script sera terminé par le chien de garde au bout de cinq secondes.
la source
Il y a aussi
cratimeout
de Martin Cracauer.la source
la source