1、shutdown命令
shutdown命令用于安全关闭Linux系统。
执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。
shutdown命令的部分参数如下:
[-t] 指定在多长时间之后关闭系统
[-r] 重启系统
[-k] 并不真正关机,只是给每个登录用户发送警告信号
[-h] 关闭系统
2、halt命令
halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。
halt命令的部分参数如下:
[-f] 没有调用shutdown而强制关机或重启
[-i] 关机或重新启动之前,关掉所有的网络接口
[-p] 关机时调用poweroff,此选项为缺省选项
3、reboot命令
reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。
4、init命令
init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机init 6命令用于将系统运行级别切换为6,即重新启动。
直接按开机的电源键。linux下,按 电源键会产生关机消息,接收消息的脚本会调用关机命令关机,与手动输入关机命令,或者使用鼠标点击菜单,对话框关机的过程是完全一样的。
我在win7,winxp下也是,很方便,它们都和菜单,对话框的关机效果一样。
我使用的是ubuntu12.04 server版,系统中电源键关机脚本是
其它linux发行版也差不多,都有自己的处理脚本
/etc/acpi/powerbtn.sh
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
[ -r /usr/share/acpi-support/power-funcs ] &&. /usr/share/acpi-support/power-funcs
# getXuser gets the X user belonging to the display in $displaynum.
# If you want the foreground X user, use getXconsole!
getXuser() {
user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1exit} }'`
if [ x"$user" = x"" ]then
startx=`pgrep -n startx`
if [ x"$startx" != x"" ]then
user=`ps -o user --no-headers $startx`
fi
fi
if [ x"$user" != x"" ]then
userhome=`getent passwd $user | cut -d: -f6`
export XAUTHORITY=$userhome/.Xauthority
else
export XAUTHORITY=""
fi
export XUSER=$user
}
# Skip if we just in the middle of resuming.
test -f /var/lock/acpisleep &&exit 0
# If the current X console user is running a power management daemon that
# handles suspend/resume requests, let them handle policy This is effectively
# the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file.
[ -r /usr/share/acpi-support/power-funcs ] &&getXconsole
PMS="gnome-settings-daemon kpowersave xfce4-power-manager"
PMS="$PMS guidance-power-manager.py dalston-power-applet"
if pidof x $PMS >/dev/nullthen
exit
elif test "$XUSER" != "" &&pidof dcopserver >/dev/null &&test -x /usr/bin/dcop &&/usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemonthen
exit
elif test "$XUSER" != "" &&test -x /usr/bin/qdbusthen
kded4pid=$(pgrep -n -u $XUSER kded4)
if test "$kded4pid" != ""then
dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ")
if test "$dbusaddr" != "" &&su - $XUSER -c "export $dbusaddrqdbus org.kde.kded" | grep -q powerdevilthen
exit
fi
fi
fi
# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
所谓的不能直接按电源键关机的说法,是15年前的老电脑,
它们的关机键,就是一个简单的电源开关,与拔电源的效果是一样的,
瞬间断电,
对于现在的电源管理方式,没有权威的人提出这个,没有必要,成为一种固定模式了,
教材也一直沿用以前的说法
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)