Je fais le script bash pour mon usage. Comment puis-je exécuter une commande pendant un certain temps, comme 20 secondes et terminer la commande? J'ai essayé beaucoup de solutions sur Internet mais rien ne marche, j'ai aussi essayé la commande de délai d'attente sans succès. S'il vous plaît donnez-moi une solution pour cela.
Merci d'avance
Mettre à jour
par exemple: je veux exécuter cette commande dans un script et un terminal après 10 secondes
some command
Voici quelques scripts bash et un programme appelé timelimit qui peuvent résoudre votre problème . Kill processus après avoir été autorisé à s'exécuter pendant un certain temps
EDIT: Je pense avoir trouvé une meilleure solution. Essayez d'utiliser le programme de délai d'attente. Depuis la page de manuel: "Timeout - lancez une commande avec une limite de temps". Par exemple:
timeout 5s sleep 10s
En gros, il exécute votre commande et après la durée spécifiée, il la tue.
Sur les systèmes qui ne fournissent pas la commande timeout
, vous pouvez utiliser les éléments suivants:
your-cmd & sleep 30 ; kill $!
Cela fonctionnera potentiellement longtemps avec your-cmd
avec un délai d'expiration de 30 secondes.
Si your-cmd
ne se termine pas dans les 30 secondes, il recevra un signal TERM
.
Souhaitez-vous planifier l'exécution du script? Alors cron est ton ami.
Je suggère 2 options:
timeout
, vous pouvez l’utiliser conformément à man timeout
./usr/share/doc/bash-3.2/scripts/timeout
. Utilisez-le en fonction de ses informations d'utilisation.