"Shutdown now" ou "shutdown -h now" pour éteindre le Raspberry Pi?

12

Je suis nouveau sur Linux (utilisant Raspbian) et Raspberry Pi, et je me demande laquelle des deux commandes mentionnées dans le titre je devrais utiliser lors de la mise hors tension de mon Pi. Je les ai recherchés sur Google, mais je ne comprends toujours pas vraiment la différence entre les deux, quel est celui que j'utilise?

Juste un gars
la source

Réponses:

13

Essayez de taper man shutdown. Les pages de manuel vous donnent une liste complète des options qu'une commande peut prendre et une explication de ce qu'elles font. Dans le cas de -h:

-h Demande que le système soit arrêté ou mis hors tension après avoir été arrêté, avec le choix de celui qui reste au système.

La différence entre l'inclusion -hou non de l' option est minime et n'est pas pertinente dans ce cas, car vous ne pouvez pas éteindre le Pi de toute façon, non sans couper manuellement l'alimentation USB.

Greenonline
la source
5

La documentation est en man shutdown. 1

-P, --poweroff
           Power-off the machine (the default).

[...]

-h
           Equivalent to --poweroff, unless --halt is specified.

Parfois, les commandes ont des commutateurs apparents redondants comme celui-ci, car ils doivent satisfaire aux spécifications de plusieurs contextes différents. La logique simple nous dit que puisque poweroffc'est de toute façon la valeur par défaut, l'utilisation -hest elle-même redondante (encore une fois, elle existe pour satisfaire une spécification externe; certaines implémentations de shutdownpeuvent ne pas fonctionner de cette façon par défaut, mais toutes celles qui sont conformes l'implémenteront -h).

Étant donné que le pi lui-même ne peut pas s'éteindre (il est soit branché == allumé, soit non), il est inutile de l'utiliser poweroff, mais cela ne causera aucun dommage. Cela peut faire une différence WRT la façon dont la LED rouge clignote à la fin (vous pouvez comparer avec shutdown -Hpour voir). Notez que l'objectif principal de shutdownest d'arrêter (d'arrêter) le système d'exploitation.

Vous pouvez donc utiliser l'un ou l'autre formulaire.


1. Celui-ci est en fait de Raspbian Jessie et est livré avec systemd; il est légèrement différent de l'arrêt dans Raspbian wheezy (la réponse de Greenonline le cite), qui est un exemple de ce que je mentionne dans le paragraphe suivant à propos de différentes implémentations répondant à la même spécification. Le processus d'arrêt fait en fait partie du système init , qui est SysV sur Wheezy et systemd sur Jessie.

Boucles d'or
la source
1

je préfère

sudo halt

Je ne me souviens pas pourquoi j'ai choisi cela, mais, pour une raison quelconque, d'autres commandes causent des problèmes. Cela fonctionne parfaitement. Redémarrer:

sudo restart
otah007
la source
2
Si vous effectuez juste un, haltcela pourrait entraîner une perte de données. Une bien meilleure pratique serait sudo sync;sync;halt, car cela synchronise le stockage de données (c'est-à-dire les disques durs, la carte SD), avec toutes les données en cache non écrites toujours en mémoire, avant d'arrêter le système.
Greenonline
2
@Greenonline, si vous effectuez une opération à halt partir du niveau d'exécution 0 ou 6 , cela pourrait entraîner une perte de données. À tout autre niveau d'exécution, c'est équivalent à shutdown -h now.
Mark
1
Pourquoi les utilisateurs ont-ils tendance à ignorer l'existence de la commande "init" sur des systèmes d'exploitation de type Unix? init 0arrêter, init 6redémarrer
rkosegi
@Greenonline, @Mark, à partir de maintenant, je vais utiliser shutdown -h now, je ne savais pas que haltc'était dangereux!
otah007