Soy nuevo en Linux (usando Raspbian) y Raspberry Pi, y me pregunto cuál de los dos comandos mencionados en el título debería usar al apagar mi Pi. Los busqué en Google, pero todavía no entiendo la diferencia entre los dos, ¿importa cuál uso?
Intenta escribir man shutdown
. Las páginas de manual le dan una lista completa de las opciones que puede tomar un comando y una explicación de lo que hacen. En el caso de -h
:
-h Solicita que el sistema se detenga o se apague después de que se haya apagado, con la opción de decidir qué queda en manos del sistema.
La diferencia entre incluir la -h
opción o no, es leve y es irrelevante en este caso, ya que no puede apagar el Pi de todos modos, no sin quitar manualmente la alimentación del USB.
La documentación está en man shutdown
. 1
-P, --poweroff
Power-off the machine (the default).
[...]
-h
Equivalent to --poweroff, unless --halt is specified.
A veces, los comandos tienen interruptores aparentemente redundantes como este porque deben satisfacer especificaciones para varios contextos diferentes. La lógica simple nos dice que, dado que poweroff
es el valor predeterminado de todos modos, el uso -h
es redundante en sí mismo (de nuevo, existe para satisfacer una especificación externa; algunas implementaciones shutdown
pueden no funcionar de esta manera de manera predeterminada, pero todas las que cumplan se implementarán -h
).
Dado que el pi en sí no puede apagarse (está enchufado == encendido o no), no tiene sentido usarlo poweroff
, pero no causará ningún daño. Puede hacer una diferencia WRT la forma en que el LED rojo parpadea al final (se puede comparar shutdown -H
para ver). Tenga en cuenta que el objetivo principal de shutdown
es detener (detener) la ejecución del sistema operativo.
Entonces puedes usar cualquier forma.
1. Este es en realidad de Raspbian jessie y viene con systemd; es ligeramente diferente del apagado en Raspbian wheezy (la respuesta de Greenonline cita eso), que es un ejemplo de lo que menciono en el siguiente párrafo sobre diferentes implementaciones que cumplen la misma especificación. El proceso de apagado es en realidad parte del sistema init , que es SysV en wheezy y systemd en jessie.
yo prefiero
sudo halt
No recuerdo por qué elegí esto, pero, por cualquier razón, otros comandos causan problemas. Esto funciona perfectamente Reiniciar:
sudo restart
halt
, podría causar la pérdida de datos. Una práctica mucho mejor seríasudo sync;sync;halt
, ya que esto sincroniza el almacenamiento de datos (es decir, discos duros, tarjeta SD), con cualquier dato almacenado en caché no escrito aún en la memoria, antes de detener el sistema.halt
nivel de ejecución 0 o 6 , podría causar la pérdida de datos. En cualquier otro nivel de ejecución, es equivalente ashutdown -h now
.init 0
para apagar,init 6
para reiniciarshutdown -h now
no me di cuenta de quehalt
era peligroso!