1 votes

Comment spécifier les secondes dans l'outil de ligne de commande d'arrêt ?

Avec la commande shutdown -h +, vous ne pouvez spécifier que des minutes pour le temps.

J'ai essayé d'utiliser des décimales mais cela éteint simplement immédiatement.

Contexte

Si vous éteignez depuis le terminal, le terminal reste ouvert lorsque vous rallumez et peut prendre un certain temps pour être utilisable.

Je touche à peine l'interface graphique, pas question de faire défiler jusqu'au bouton.

J'ai contouré cela en mettant ceci dans mon ~ / bash_profile:

alias sd='sudo shutdown -h +1 && exit' 

Cela éteint après une minute, laissant le terminal le temps de sortir. Ou je devrais dire que l'écriture de la commande de cette manière signifie qu'elle renvoie un code de sortie.

Le seul problème est que je veux l'éteindre en 10 secondes ou moins mais il semble qu'il n'y ait aucun moyen de spécifier les secondes.

Mise à jour :

shutdown -h now && exit
shutdown -h now; exit
shutdown -h now; anycmd

shutdown -h now; anycmd

Ne pourra jamais atteindre la commande suivante car elle se produit en premier plan, une fois qu'elle est terminée, l'ordinateur est éteint.

shutdown -h +1 && exit

Ça m'a confondu, ça n'avait rien à voir avec le délai, c'est parce que la commande se produit en arrière-plan donc l'exit est atteint.

Vous devez donc exécuter la commande en arrière-plan pour que l'exit puisse être atteint.

J'ai obtenu la réponse en réalisant cela en premier :

alias sd='shutdown -h now & exit

4voto

nohillside Points 82672
alias sd='sleep 10; nohup shutdown -h now & exit'

0voto

Steve Chambers Points 21588

Il semble que vous ne puissiez pas spécifier les secondes.

De la page de manuel de shutdown :

temps Le temps est l'heure à laquelle l'arrêt mettra le système hors service et peut être le mot maintenant (indiquant un arrêt immédiat) ou spécifier un temps futur dans l'un de deux formats : +nombre, ou yymmddhhmm, où l'année, le mois et le jour peuvent être définis par défaut aux valeurs actuelles du système. La première forme met le système hors service dans un certain nombre de minutes et la seconde à l'heure exacte spécifiée.

Cependant, vous avez mentionné que vous souhaitez que l'arrêt se produise "dans 10 secondes ou moins" à partir de l'exécution de la commande...

shutdown now

Semble être une commande légitime et éteindra votre ordinateur en moins de 10 secondes, comme vous l'avez demandé.

-1voto

Nickotine Points 81

J'ai compris avec ceci:

alias sd='sudo shutdown -h maintenant & exit'

Cela permet d'empêcher la commande de bloquer le terminal en arrière-plan pour que la fermeture soit atteinte et que le terminal se ferme.

Mise à jour

Cette commande n'est pas fiable, bien que le terminal se ferme, parfois à la mise sous tension le terminal restera ouvert donc maintenant je fais:

alias caff='caffeinate -dimsu'
alias sd='caff & sudo shutdown -h +1; exit'

Puis fermez le couvercle.

caffeinate & est nécessaire car lorsque le couvercle est fermé, l'ordinateur se verrouille donc ne s'éteindra jamais.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X