总览 SYNOPSIS

/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]

描述 DESCRIPTION

shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login(1) 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。这可以使 vi(1) 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等。 shutdown 通过通知 init 进程,要求它改换运行级别来实现。运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用来使系统进入执行系统管理任务状态,如果没有给出 -h-r 标志时,这是 shutdown 命令的默认工作状态。具体关机或重启所执行的操作请查阅 /etc/inittab 文件中相应的运行级别栏。

选项 OPTIONS

-a
使用 /etc/shutdown.allow 来验证身份。
-t sec
通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。
-k
并非真正关机,只向所有人显示警告信息。
-r
重启。
-h
停机。
-n
[DEPRECATED(不应再使用)] 不调用 init(8) 程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。
-f
重启时跳过磁盘检测。
-F
重启时强制磁盘检测。
-c
取消运行中的 shutdown 进程。不可能为此选项指定 time 参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按“+”号来进行中断)
time
关机时间。
warning-message
发送给所有用户的消息。

time 参数的格式可以有很多种。首先,可以是 hh:mm 格式的绝对时间,其中 hh 指的是小时(一到二位数),mm 指的是分钟(二位数)。第二种是 +m 格式,其中 m 指的是等待的分钟数。 now+0 的别名。

如果 shutdown 在调用时使用了延时,它将自动创建一个咨询 (advisory) 文件 /etc/nologin
,作用是禁止 login(1) 允许新用户登陆,除非 shutdown 在向 init 发信号前意外中止
(就是说,它被取消或出了什么问题)。它会在调用 init 改变运行级之前删除这个文件。

-f 标志意味着 `快速重启'。这将创建一个咨询 (advisory) 文件 /fastboot
,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这样的文件,如果有,就不会再运行
fsck(1),因为系统是以正常方式关闭的。这之后,启动进程会删除 /fastboot

-F 标志意味着 `强制 fsck'。这将创建一个咨询 (advisory) 文件
/forcefsck,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这个文件,如果有,就运行 fsck(1)
并且加上一个特殊的 `force' 标志,以使得即使正常卸载的文件系统也被检查。这之后,启动进程会删除 /forcefsck

-n 标志导致 shutdown 不调用 init 程序进行关机,而是自己关闭所有运行中的进程。shutdown 接下来会关闭配额 (quota),记账 (accounting) 和交换分区,卸载所有文件系统。

访问控制 ACCESS CONTROL

如果在 /etc/inittab 文件中有适当的条目,当按下特殊键
CTRL-ALT-DEL 时,shutdown 可以被 init(8)
调用。这意味着可以物理地接触到终端键盘的任何人都可以关闭系统。要避免这种行为,shutdown 可以检测是否有授权的用户登录到了虚拟终端之一。如果
shutdown 在调用时带有 -a 参数 (可以将它添加到 /etc/inittab 中 shutdown
的执行命令之后),它将检测是否存在 /etc/shutdown.allow 文件。接下来它比较文件中的登录名与虚拟终端的登录用户列表
(在/var/run/utmp)。只有当授权的用户之一 或者 root 登录了,它才会继续。否则,它会把信息

shutdown: no authorized users logged in

写到 (物理的) 系统终端。/etc/shutdown.allow 的格式是每行一个用户名。允许出现空行和注释行 (以 # 开头)。此文件当前有最多 32 个用户的限制。

注意,如果 /etc/shutdown.allow 不存在,-a 参数将被忽略。

文件 FILES

/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

注意 NOTES

很多用户忘记了传递 time 参数,结果被 shutdown 产生的错误消息所迷惑。time 参数是必须的,90% 的情况下这个参数会是 now

Init 只能在终端模式捕获 CTRL-ALT-DEL 并且启动 shutdown。如果系统正在运行 X window System,X 服务器处理所有的按键。一些 X11 环境使得捕获 CTRL-ALT-DEL 成为可能,但是这个事件究竟做了什么依赖于那个环境。

Shutdown 没有被设计为使用 setuid。/etc/shutdown.allow 不用来找出谁在执行 shutdown ,它*只*用来检查当前在终端 (之一) 登录的用户。

shutdown - 关闭系统的更多相关文章

  1. linux shutdown关闭系统命令使用介绍(转)

    shutdown命令是最常用的关闭系统命令,不仅可以用于立即关闭系统,还可以在指定时间关闭系统   linux关闭系统命令之shutdown 关闭.重启系统 Linux是一个多用户.多任务系统,如果不 ...

  2. ubuntu18关闭系统自动更新

    ubuntu18.04关闭系统自动更新有两个方法:1.修改配置文件 修改配置文件/etc/apt/apt.conf.d/10periodic#0是关闭,1是开启,将所有值改为0vi etc/apt/a ...

  3. win10关闭系统更新 (转载)

    一.关闭Windows10系统的自动更新服务 1:使用快捷键Win+R,打开运行 2:输入命令:services.msc,打开系统服务界面 找到Windows Update双击 将启动类型改为[禁用] ...

  4. linux笔记:关机重启命令shutdown,系统运行级别init,退出登录logout

    命令名称:shutdown功能:关机或重启用法:shutdown [选项] [时间]选项参数:-c 取消前一个关机命令-h 关机-r 重启时间格式:now 现在时:分 20:30其他:会正常关闭正在启 ...

  5. ios9关闭系统自动更新

    链接:https://www.zhihu.com/question/37297197/answer/104363172 https://www.zhihu.com/question/37297197/ ...

  6. CentOS关闭系统不必要的端口

    注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 1)首先查看当前系统开放的端口号: # netstat -tlnup Active Internet connections (o ...

  7. linux 关闭系统提示声音

    关闭Linux 提示声音:   rmmod pcspkr      //永久关闭 在/etc/modprobe.d/blacklist文件最后加上 blacklist pcspkr

  8. 关闭系统邮件提醒:you hava a new mail(转)

    有时候,在输入某些触及到系统安全或者内核方面的命令都会提醒你: You have new mail in /var/spool/mail/root 只需要在root 用户下,不设置邮件检测即可! #e ...

  9. Flutter: 显示&关闭系统叠加层ui

    import 'package:flutter/services.dart'; /// 关闭 SystemChrome.setEnabledSystemUIOverlays([]); /// 显示 S ...

随机推荐

  1. (HY000): Can't connect to MySQL server on '129.28.149.240' (113)

    环境 mysql5.7 ubuntu 一. 解决方法 1.首先确保mysql开启了远程授权:https://blog.csdn.net/cryhelyxx/article/details/401146 ...

  2. 前端每日实战:76# 视频演示如何用纯 CSS 创作一组单元素办公用品(内含2个视频)

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oMgmwB 可交互视频 此视频是可 ...

  3. vue的列表交错过渡

    参考文章 https://juejin.im/post/5cccf5b0e51d453a907b4af1

  4. wxpython 文本框TextCtrl

    path_text = wx.TextCtrl(frame, pos=(5, 5), size=(350, 24))最常用的两个函数:path = path_text.GetValue() conte ...

  5. SpringBoot---Favicon配置

    1.概述 1.1.SpringBoot提供了一个默认的Favicon,每次访问都能看到: 2.关闭Favicon 在application.yml中设置关闭Favicon,默认开启: spring.m ...

  6. boost range

    1.Algorithms Boost.Range is library that, on the first sight, provides algorithms similar to those p ...

  7. Distribution money

    Distribution money Accepts: 713 Submissions: 1881 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...

  8. 如果遇到找不到元素如何处理? Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"investmentframe"}

    常见几种原因与应对,详细参见http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html 1,动态ID无法找到,用xpath路径解决 ...

  9. Weblgic安装应用报错:Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-a

    文章目录 报错如下 解决: 报错如下 Exception in AppMerge flows' progression 后台日志报错: Caused by: com.bea.xml.XmlExcept ...

  10. Ajax的那点事

    Ajax中什么是同步.异步? 同步:就是用户填写完信息之后,全部提交给服务器,等待服务器的回应,是一次性全部的. 异步:当用户填写完一条信息之后,这条信息会自动向服务器提交,然后服务器响应客户端,在此 ...