Forum Linux.général temps pour pour effectuer un shutdown

Posté par . Licence CC by-sa
2
13
fév.
2015

Bonjour,

C'est mon premier message sur le forum alors j’espère que je poste au bon endroit.

Combien de temps après le lancement de la commande shutdown est ce que des programmes peuvent effectuer des operations?

Je prends un exemple. J'ai une ligne de commande qui remplace un morceau de texte par un autre dans tous les fichiers d'un répertoire. C'est une opération assez longue environ 2 heures. Par erreur je lance un shutdown a 9:20:55. Est ce qu'il est possible qu'un fichier soit modifié a 9:22:16? Je pense que non mais je ne suis pas un expert. C'est une machine qui a 4/5 ans avec scientific linux 6 (RHEL 6).

J'ai fait un peu de recherche sur internet mais je n'ai pas trouve de réponse a ma question.

Merci

  • # pas reponse

    Posté par . Évalué à 3. Dernière modification le 13/02/15 à 09:34.

    J'ai fait un peu de recherche sur internet mais je n'ai pas trouve de réponse a ma question.

    probablement parce qu'il n'y a pas de règle.

    dans la vraie vie :
    la commande shutdown va entrer dans le niveau 0 de l'init,
    jouer tous les scripts qui sont dedans pour "éteindre" chaque service proprement.

    un service pouvant être "bloquant" et empêcher la poursuite de l'arrêt.

    tu lances un shutdown à 9:20, ton script essaie de se terminer, n'y arrive pas, il continue à travailler…; écrit dans ton fichier à 9h22… se termine plus tard, et le shutdown s'achève.

    • [^] # Re: pas reponse

      Posté par . Évalué à 2.

      Merci.

      J'ai lu que shutdown laisse 20 secondes pour fermer un programme proprement puis force l’arrêt (équivalent du kill -9). Dans ce cas, le programme ne peut pas bloquer plus de 20 secondes?

      • [^] # Re: pas reponse

        Posté par . Évalué à 2.

        la question est intéressante. Qu'en sera-t-il de l'état du fichier une fois que le logiciel aura commencé à écrire dedans, puis qu'il se sera fait éventuellement tué (kill -9) par le shutdown… (désolé, pas de réponse de mon côté)

  • # Tester avec « sleep »

    Posté par . Évalué à 1.

    Combien de temps après le lancement de la commande shutdown est ce que des programmes peuvent effectuer des operations?

    Bonjour.

    Tu peux faire des tests avec la commande sleep. La commande sleep 5m attend 5 minutes avant de rendre la main. Lance cette commande, puis lance la commande shutdown. Tu verras si l'ordinateur attend 5 minutes (ou moins) pour s'arrêter.


    Il est également possible de programmer un shutdown pour plus tard :

    • Pour éteindre l'ordinateur dans 205 minutes : shutdown -h +205
    • Pour redémarrer l'ordinateur à 19h23 : shutdown -r 19:23

    Pour en savoir plus : man shutdown


    Enfin, pour être certain que le shutdown s'exécute APRÈS ta commande qui prend du temps, tu peux mettre les deux commandes sur une même ligne, séparées par un point-virgule :

    $ première-commande ; shutdown -h +0

    La commande shutdown ne s'exécutera que lorsque la première-commande sera terminée.

    • [^] # Re: Tester avec « sleep »

      Posté par . Évalué à 3.

      personnellement, j'utilise souvent :

      waitproctofinish(){ while pgrep -f $1 > /dev/null ; do sleep 1 ; done }

      ça permet de le lancer dans un autre terminal, même après coup.

      Please do not feed the trolls

      • [^] # pgrep

        Posté par . Évalué à 1.

        waitproctofinish(){ while pgrep -f $1 > /dev/null ; do sleep 1 ; done }
        

        Merci, c'est bien pratique ! Je ne connaissais pas pgrep :-)

        • [^] # Re: pgrep

          Posté par . Évalué à 2.

          Je viens de me rendre compte que pour le lancer après coup sans ça il y avait toujours moyen de faire :

          C-z
          puis fg ; shutdown

          :)

          Please do not feed the trolls

          • [^] # Re: pgrep

            Posté par . Évalué à 1.

            Merci, je vais tester.

Suivre le flux des commentaires

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