Forum Programmation.shell Altlernative à sleep/Timeout

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
26
sept.
2016

Salut,
Je voudrais savoir s'il est possible de trouver un alternative à sleep. Mon problème est comme suit : Je souhaite tuer un processus(vnstat avec kill SIGINT) après quelques temps d'execution. J'ai utilisé sleep mais il se trouve que ça fait dormir vnstat et les autres commandes.
Merci

  • # Et timout

    Posté par  . Évalué à 1.

    Salut,

    Tu parles de timeout mais tu ne dis pas si la commande correspond à tes attentes.

    "timeout 5 top" par exemple affiche la commande top pendant 5 secondes.

  • # sleep fait dormir le processus

    Posté par  . Évalué à 2.

    comme son nom l'indique sleep est là pour faire dormir le processus.

    au mieux tu pourrais avoir un bout de shell qui sera le lanceur avec :

    • lancement de l'appli (en tache de fond via nohup ou &) : appli &
    • sleep X
    • kill -15 $(pidof appli)

    mais la solution de timeout semble plus facile a utiliser :
    timeout X appli

  • # ....

    Posté par  . Évalué à 1. Dernière modification le 26 septembre 2016 à 21:10.

    Le probleme avec timeout c'est qu'il n'envoit pas un signal d'interruption alors que c'est ce que je cherche! J'ai besoin d'interrompre vnstat à un moment ou il tourne encore….

    #####SCRYPTA
    timeout 60 lftp ftp:..... & vnstat --live & ps -ax|grep "vnstat --live"
    sleep 30
    kill -s SIGINT $s
    ####SCRYPTA

    Ci-dessus ce ke j'ai écrit

    • [^] # Re: ....

      Posté par  . Évalué à 1.

      timeout 60 lftp ftp:….. & vnstat --live & ps -ax|grep "vnstat --live"

      Avec cette commande "timeout" n'est actif que pour "lftp ftp:….."

      Ajoute aussi le timeout avec vnstat
      timeout 60 lftp ftp:….. & timeout 60 vnstat --live & ps -ax|grep "vnstat --live"

      • [^] # Re: ....

        Posté par  . Évalué à 1.

        Ou bien timeout 60 sh -c "a && b && c".

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.