GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter une commande avec limite de temps (Timeout) sous Linux

Linux est livré avec une multitude de commandes, chaque commande unique et utilisée dans des cas spécifiques. Le but de Linux est de vous aider à être aussi rapide et efficace que possible. Une propriété d'une commande Linux est la limite de temps. Vous pouvez définir une limite de temps pour n'importe quelle commande que vous voulez. Si le délai expire, la commande cesse de s'exécuter.

Dans ce court didacticiel, vous allez apprendre deux méthodes pour utiliser une limite de temps dans vos commandes.

Sur cette page :
  1. Exécuter des commandes Linux à l'aide de l'outil de délai d'attente
  2. Exécuter des commandes Linux à l'aide du programme Timelimit

Exécuter des commandes Linux à l'aide de l'outil de temporisation

Linux dispose d'un utilitaire de ligne de commande appelé timeout , qui permet d'exécuter une commande avec une limite de temps.

Sa syntaxe est la suivante.

timeout [OPTION] DURATION COMMAND [ARG]...

Pour utiliser la commande, vous spécifiez un timeout valeur (en secondes) avec la commande que vous souhaitez exécuter. Par exemple, pour expirer une commande ping après 5 secondes, vous pouvez exécuter la commande suivante.

# timeout 5s ping google.com

Vous n'êtes pas obligé de spécifier le(s) (s) après le numéro 5 . La commande ci-dessous est la même et fonctionnera toujours.

# timeout 5 ping google.com

Les autres suffixes incluent :

  • m représentant les minutes
  • h représentant des heures
  • d représentant des jours

Parfois, les commandes peuvent continuer à s'exécuter même après que le délai d'attente ait envoyé le signal initial. Dans de tels cas, vous pouvez utiliser le --kill-after option.

Voici la syntaxe.

-k, --kill-after=DURATION

Vous devez spécifier une durée pour laisser délai d'expiration savoir après combien de temps le signal d'arrêt doit être envoyé.

Par exemple, la commande affichée va se terminer après 8 secondes.

# timeout 8s tail -f /var/log/syslog

Exécuter des commandes Linux à l'aide du programme Timelimit

Le Délai programme exécute une commande donnée puis termine le processus après un temps spécifié en utilisant un signal donné. Il transmet initialement un signal d'avertissement, puis après un délai d'attente, il envoie le signal d'arrêt.

Contrairement au timeout option, Délai a plus d'options telles que killsig , avertissement , tuer le temps , et warntime .

Délai peut être trouvé dans les dépôts de Debian - et pour l'installer, utilisez la commande suivante.

$ sudo apt install timelimit

Pour basé sur Arch systèmes, vous pouvez l'installer en utilisant AUR programmes d'assistance, par exemple Pacaur Pacman , et Emballeur .

# Pacman -S timelimit
# pacaur -S timelimit
# packer -S timelimit

Autres distributions Linux, vous pouvez télécharger la source de la limite de temps et l'installer manuellement.

Après l'installation, exécutez la commande suivante et spécifiez l'heure. Dans cet exemple, vous pouvez utiliser 10 secondes.

$ timelimit -t10 tail -f /var/log/pacman.log

Notez que si vous ne spécifiez pas d'arguments, Timelimit utilise les valeurs par défaut :warntime=3600 secondes, warnsig=15 , killtime=120 , et killsig=9 .

Conclusion

Dans ce guide, vous avez appris à exécuter des commandes avec une limite de temps sous Linux. En révision, vous pouvez utiliser le Timeout commande ou le Timelimit utilitaire.

Le délai d'expiration est facile à utiliser, mais la commande Timelimit l'utilitaire est un peu compliqué mais a plus d'options. Vous pouvez choisir l'option la plus appropriée en fonction de vos besoins.


Linux
  1. Planifier une tâche avec la commande Linux at

  2. Comment utiliser la commande Vmstat sous Linux expliquée avec des exemples

  3. Vérifiez combien de temps un script bash prend pour s'exécuter avec la commande Time

  4. Comment limiter les commandes utilisateur sous Linux

  5. linux :comment exécuter une commande dans un répertoire donné

Comment exécuter des commandes Linux en arrière-plan

Commande de temporisation sous Linux

Comment utiliser la commande Linux rm avec des exemples

Comment exécuter une commande pendant une durée spécifique sous Linux

Comment exécuter un alias avec Sudo sous Linux

Exécuter des commandes avec une limite de temps dans Ubuntu 20.04