Comment définir une limite de temps sur les commandes Linux

Pour les administrateurs système responsables du contrôle des serveurs Linux, la gestion des ressources est une tâche importante à prendre en charge. Parfois, les commandes Linux occupent une grande partie des ressources système et doivent être arrêtées.

Heureusement, vous pouvez limiter la durée d’exécution de vos commandes à l’aide d’utilitaires tels que limite de temps . Dans cet article, nous expliquerons pourquoi vous devez ajouter des limites de temps à vos commandes et comment ajouter une restriction de temps à l’aide de commandes telles que timelimit et timeout.

Pourquoi limiter le temps d’exécution d’une commande ?

Il existe plusieurs raisons pour lesquelles vous devrez peut-être exécuter vos commandes avec une limite de temps. Tout d’abord, vous utilisez peut-être un ordinateur ou un serveur plus ancien et vous ne voulez pas que votre système gaspille ses ressources dans des traitements indésirables.

Deuxièmement, les tâches limitées dans le temps telles que les transferts de fichiers se terminent après une certaine période, mais leurs processus ne s’arrêtent pas immédiatement. Pour empêcher le programme de prendre du temps CPU et de la mémoire supplémentaires, vous pouvez ajouter une limite qui arrêtera le processus une fois le transfert terminé.

Ajouter une limite à l’aide de la commande timeout

La commande timeout est le premier choix de nombreux utilisateurs Linux pour ajouter une restriction de temps à leurs commandes. Étant donné que cet outil fait partie du Utilitaires de base GNU package, il est préinstallé sur presque toutes les distributions Linux.

Voir aussi :  Les 15 meilleurs émulateurs de terminal pour Linux

La syntaxe de base de la commande timeout est :

…où limite est la durée d’exécution de la commande et commander est la commande Linux que vous souhaitez exécuter avec une limite de temps.

Par exemple, si vous souhaitez obtenir des détails sur le processus à l’aide de la Haut commande pendant 10 secondes :

La commande top est sans fin et vous devez la quitter manuellement en utilisant Ctrl + C . La commande susmentionnée s’exécutera pendant 10 secondes et une fois le minuteur écoulé, timeout arrêtera son exécution. Notez que le délai d’attente prend secondes comme unité de temps par défaut, ce qui signifie dix et 10s sont identiques.

Vous pouvez aussi utiliser m , h et pour minutes , les heures et jours respectivement.

Envoyer manuellement des signaux d’arrêt avec un délai d’attente

Par défaut, la commande timeout envoie SIGTERM comme signal d’arrêt. SIGTERM signifie Fin du signal, qui termine le processus immédiatement.

Vous pouvez également envoyer d’autres signaux à l’aide du -s drapeau. Par exemple, pour envoyer le signal SIGKILL :

Spécifier le signal avec son numéro de signal est également possible. La commande suivante envoie également le signal SIGKILL à la commande supérieure.

…où 9 est le numéro de signal pour SIGKILL.

Voir aussi :  Comment installer IDLE Python IDE dans Ubuntu

Pour obtenir une liste de tous les signaux disponibles :

Certaines commandes ne s’arrêtent pas complètement même après avoir ajouté une limite de temps. Dans de telles situations, l’ajout d’un signal d’arrêt avec la commande timeout par défaut résout le problème.

La commande susmentionnée exécutera d’abord la commande supérieure pendant 10 secondes, et si la commande ne s’arrête pas, elle enverra un signal d’arrêt au processus après 15 secondes.

Restreindre le temps d’exécution des commandes avec une limite de temps

Contrairement à la commande timeout, timelimit ne fait pas partie des packages standard préinstallés sur les distributions Linux. Par conséquent, vous devrez installer manuellement la limite de temps sur votre système.

Pour installer sur des distributions basées sur Debian :

Timelimit n’est pas disponible dans les dépôts Arch officiels. Mais, vous pouvez l’installer en utilisant un gestionnaire de packages AUR comme Yay .

Pour installer sur Fedora :

Sur RHEL et CentOS :

Alternativement, si vous ne pouvez toujours pas installer le package sur votre système, téléchargez le code source depuis le site officiel et installez-le manuellement.

Télécharger : limite de temps

Pour exécuter la commande top pendant 10 secondes en utilisant timelimit :

Timelimit prend plusieurs arguments comme temps d’avertissement , avertissement , tuer le temps et killsig . Si l’utilisateur ne fournit pas ces arguments, leurs valeurs par défaut sont prises, qui sont temps d’avertissement=3600 secondes, avertissement=15 , killtime=120 et killsig=9 .

Voir aussi :  Comment corriger l'erreur Ubuntu "Aucun adaptateur Wi-Fi trouvé" ?

Gestion de la vie d’une commande sous Linux

La surveillance des commandes et la prise de contrôle des processus deviennent importantes si votre machine Linux dispose de ressources limitées. Des utilitaires tels que timeout et timelimit sont une bouée de sauvetage car ils vous permettent d’ajouter des restrictions de temps à vos commandes.

Comme le temps d’exécution des commandes, vous pouvez également limiter le temps d’écran de votre système. Si vous êtes un parent qui ne veut pas que votre enfant perde du temps inutilement devant un ordinateur, limiter le temps d’écran est le choix le plus approprié.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *