我应该拔插头吗?还是最好先退出LXDE和任何其他正在运行的进程?
sudo halt -p
会做的。
我应该拔插头吗?还是最好先退出LXDE和任何其他正在运行的进程?
sudo halt -p
会做的。
Answers:
您绝对不想只是拔掉插头。这可能会导致SD卡和文件系统出现问题。
使用命令行或终端窗口时,可以输入以下内容进行干净关闭:
sudo shutdown -h now
提示系统停止后,可以根据需要卸下电源线。
如果可以的话,最好始终正确关闭。
不断拔下设备电源而又不能正常关机可能会对SD卡(已经有气质的物体)产生不良影响。
作为参考,要从终端关闭,可以使用:
sudo shutdown -h now
要么
sudo halt
这些命令发送SIGTERM
到所有正在运行的进程,通知它们保存其数据并退出。然后SIGKILL
,它发送到所有剩余的进程以停止系统,然后最终卸载所有文件系统。然后将显示屏幕System Halted
,您可以拔下插头。
sudo poweroff
也可以。
halt
,shutdown
以及poweroff
?
halt
。此外,您可以指定halt
立即停止内核/ CPU,而无需停止任何进程。因此,shutdown
除非您有特定的原因,否则我会坚持使用。
我也使用过shutdown.py解决方案。
您仍然需要找到一个物理开关并将其焊接到插头5的引脚6和8上。我从一块破旧的Arduino开发板上拿了我的东西。我还在外壳上钻了一个小孔,以确保在关闭外壳时可以用一个小木针按下按钮。
它是这样的:
我遵循了“ Raspberry Pi关机开关–安全关闭Pi”中描述的项目,但是将引脚17设置为内部上拉。然后像上面的项目一样连接电线,但不使用任何电阻,并在中添加以下Python脚本/etc/rc.local
:
python shutdown_button.py
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
print GPIO.input(17)
if (GPIO.input(17) == False):
os.system("sudo shutdown -h now")
break
time.sleep(1)
GPIO.wait_for_edge(17, GPIO.FALLING)
而不是while循环,可以提高响应速度。
除了其他考虑因素,电源和其他连接器将设计用于有限的插入/断开循环次数。通常这是一个令人惊讶的低数字。
据统计,连接器很可能是设备故障的根源。
考虑到Pi的总体寿命,您可能希望减少其所经历的连接器插入/断开的次数。一种帮助做到这一点的方法是使用电源插座的开/关开关。
为避免SD卡损坏问题,您应始终正确关闭操作系统。您可以使用电源控制器硬件解决方案和通过GPIO端口信号触发的脚本来自动执行此操作(例如,除了上述的Pi Supply之外):
最后一个链接中的RemotePi板具有使用IR遥控器打开/关闭Raspberry Pi电源的附加功能。
如果您的Raspberry Pi被冻结,则您将无法进入ssh或控制台,这将有所帮助。在知道这一点之前,我已经摔坏了几张SD卡:
按住Alt + PrintScreen的同时,在按住这些键的同时,依次击打以下键,一次击中一个,中间停顿几秒钟。
Alt+ PrintScreen+R E I S U O
要么
Alt+ PrintScreen+ R E I S U B(重新引导)
记住一个方便的助记符,即使系统完全崩溃也要重新启动。
将“ O”替换为“ B”以关闭系统,而不是重新引导(O = off,B = boot)。
资料来源:https : //www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262
有多种方法可以关闭pi!仅在没有适当关闭的情况下拔下插头可能会损坏您的SD卡!
要关机,请在几分钟之内使用sudo shutdown -now
或sudo shutdown -time
告知关机。
要重新启动,请使用sudo reboot
重新启动并sudo reboot -time in minutes
重新打开电源,或者仅sudo reboot
立即重新启动,sudo shutdown
而-time
不会默认为一分钟以取消关机sudo shutdown -c
注意:您也可以按下树莓派按钮,然后单击电源。然后关闭或重新启动,立即关闭和重新启动!
如本文其他答案中所述:
sudo halt
也会起作用:一旦屏幕上没有任何内容,只需拔下插头!
您的Raspberry Pi确实不需要电源开关。我将USB集线器用于具有开/关开关的电源。因此,每当我想关闭Raspberry Pi时,都只需关闭USB开关即可。
普通的unix命令可在Linux上使用,如下所示:
init 0将其关闭,因此可以安全拔出插头。
初始化6将重新启动。
与unix不同,没有真正的同步需求。同步; 在关机之前。但是仅拔下插头可能会导致错误,因此在断开电源之前,请确保使用shutdown或init 0。如果您确实意外中断了电源,请使用fsck检查和/或修复可能出现的任何问题。
可能需要进行完全同步;同步; 同步; 睡30; 如果您的外部文件系统不能完全卸载,请停止运行。您可以通过在启动后立即在外部文件系统上运行fsck来知道是否存在问题。如果发现问题,那么您可能想要做整个事情。但是我从未见过Rpi3会发生这种情况。