【Linux】正确的关机方法

1. Linux正确的关机方式

        如何关机呢?我想,很多朋友在DOS年代已经有在玩计算机了。在当时我们关闭DOS的系统时,常常是直接关闭电源开关,而Windows 在你不爽的时候,按着电源开关四秒也可以关机,但是在Linux则不建议这么做。

        为什么?在Windows(非NT内核)系统中,由于是单人假多任务的情况,所以即使你的计算机关机,对于别人应该不会有影响才对。

        不过,在Linux下面,由于每个程序(或说是服务)都是在后台执行,因此,在你看不到的屏幕背后其实可能有相当多人同时在你的主机上面工作,例如浏览网页、发送邮件以及FTP传输文件等,如果你直接按下电源开关来关机时,则其他人的数据可能就此中断,那可就伤脑筋了。

        此外,最大的问题是,若不正常关机,则可能造成文件系统的毁损(因为来不及将数据回写到文件中,所以有些服务的文件会有问题)。所以正常情况下,要关机时需要注意下面几件事。

1.观察系统的使用状态

        如果要看目前有谁在线,可以执行【who】这个命令,而如果要看网络的联机状态,可以执行【 netstat -a】这个命令,而要看后台执行的程序可以执行【ps -aux】这个命令,使用这些命令可以让你稍微了解主机目前的使用状态。当然,就可以让你判断是否可以关机。

我们先看看who 

我们开启另外一个账号来看看

我们再来看看netstat -a

我们再看看ps -aux 

2.通知在线用户关机的时刻

要关机前总得给在线的用户一些时间来结束它们的工作,所以,这个时候你可以使用shutdown
 -k来达到此功能。

我们看个例子

我在bcq_113账号下执行这个关机警告命令,同一服务器下的zs_108就立刻收到了警告 

 

3.正确的关机命令使用

例如shutdown与reboot两个命令。
所以下面我们就来谈一谈几个与关机或重新启动相关的命令。

  • 将数据同步写入硬盘中的命令:sync
  • 常用的关机命令:shutdown
  • 重新启动,关机:reboot、halt、powerof

        由于Linux系统的关机或重新启动是很重大的系统操作,因此只有root才能够执行例如shutdown、reboot 等命令。

2.数据同步写入磁盘:sync

        所有的数据都得要被读入内存后才能够被CPU所处理,但是数据又常常需要由内存写回硬盘当中(例如保存的操作)。

        由于硬盘的速度太慢(相对于内存来说),如果常常让数据在内存与硬盘中来回写入或读出,系统的性能就不会太好。

        因此在Linux系统中,为了加快数据的读取速度,所以在默认的情况中,某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重复改写,那么由于它尚未被写入硬盘中,因此可以直接由内存当中读取出来,在速度上一定是快很多的。

        不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机(例如停电或是不小心碰到电源)时,由于数据尚未被写入硬盘当中,所以就会造成数据的更新不正常。那要怎么办!

        这个时候就需要sync这个命令来进行数据的写入操作。直接在命令行模式下输入sync,那么在内存中尚末被更新的数据,就会被写入硬盘中。

        所以,这个命令在系统关机或重新启动之前,最好多执行几次。

        虽然目前的shutdown、reboot、halt等命令均已经在关机前进行了sync这个程序的调用,不过多做几次总是比较放心点。
 

2.关机——shutdown

我们使用Xshell来连接我们的云服务器的时候,我们不想使用了,我想很多人的做法是直接关闭Xshll的运行,但是事实上我们的linux真的关机了吗?

答案是肯定没关机啊

那我们怎么来正确的关机呢?

只有root才有关机的权利

我们用man手册查询一下 

shutdown的语法如下

shutdown [选项] 时间

 选项:

  • -k:不要真的关机,只是发送警告信息出去
  • -r:在将系统的服务器停掉之后就立刻重新启动(常用)
  • -h:将系统的服务停掉之后,立即关机(常用)
  • -c:取消已经在进行的shutdown命令内容
  • 时间 :指定系统关机的时间。如果没有填,则默认1分钟后自动进行。

我们看个例子

 执行shutdown后,系统会提醒你这台机器将在10分钟后关机,并把信息显示出来。

我们可以使用shutdown -c来取消这次的关机命令。

我们多看几个例子

shutdown -h now
//立刻关机,其中now相当于时间为0的状态

shutdown -h 20:25
//在今天的20:25关机,如果在21:25执行的这条命令,则在隔天的20:25关机

shutdown -h +10
//在10分钟后关机

shutdown -r +30 'The system will reboot'
//再过30分钟系统会自动重启,并显示后面的信息给在线使用者

shutdown -k now 'This system will reboot'
//仅发出警告邮件的参数,系统不会关机,只是吓唬人

3.2.reboot,half,poweroff

还有3个命令可以进行重新启动和关机任务,那就是reboot,half,poweroff

这3个函数调用的函数库基本相同,所以我们使用man去查询reboot的时候,就会显示3个函数的

事实上这3个命令的本质是一样的,我们只需记住其中一个即可

我一般只记poweroff和reboot这两个命令

half
//系统停止,屏幕可能会保留系统已经停止的信息

poweroff
//系统关机,所以没有提供额外电力,屏幕空白

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/770763.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

旧衣回收小程序:减少资源浪费,提高回收效率

当下,旧衣服回收成为了大众热衷的事,不少居民都会把闲置的衣物进行回收,旧衣回收行业逐渐火爆。不过,传统的旧衣回收模式已经不符合当下时代发展,具有较大的不便利性。 因此,为解决这一问题,线…

PG实践|内置函数之GENERATE_SERIES之深入理解(二)

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 🔥 三连支持:欢迎 ❤️关注…

使用Vue CLI方式创建Vue3.0应用程序

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。新版本的 Vue CLI 的包名由原来的 vue-cli 改成了 vue/cli。 在开发大型项目时,需要考虑项目的组织结构、项目构建和部署等问题。如果手动完成这些配置工作,工作效率会非常低。为此,Vue.…

Rocky Linux 9 快速安装docker 教程

前述 CentOS 7系统将于2024年06月30日停止维护服务。CentOS官方不再提供CentOS 及后续版本,不再支持新的软件和补丁更新。CentOS用户现有业务随时面临宕机和安全风险,并无法确保及时恢复。由于 CentOS Stream 相对不稳定,刚好在寻找平替系统…

Python学生信息管理系统(完整代码)

引言:(假装不是一个大学生课设)在现代教育管理中,学生管理系统显得尤为重要。这种系统能够帮助教育机构有效地管理学生资料、成绩、出勤以及其他教育相关活动,从而提高管理效率并减少人为错误。通过使用Python&#xf…

IDEA版本推荐

推荐版本: IDEA 2024.1.4 下载链接:IDEA下载 (下载时可以往下拖,选到自己想要的版本哦) 本人由于项目开发需要,陆续用过几个版本的IDEA,包括: IDEA 2020.2.4 。这是在看韩顺平老师…

昇思25天学习打卡营第9天|CycleGAN图像风格迁移互换

文章目录 昇思MindSpore应用实践基于MindSpore的CycleGAN图像风格迁移互换1、CycleGAN 概述2、生成器部分3、判别器部分4、优化器和损失函数5、模型训练6、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 基于MindSpore的C…

打造商贸物流“产-供-销”、“仓-运-配”全流程供应链

在当今全球化的商业环境中,商贸物流平台的搭建成为企业提升效率、降低成本并增强市场竞争力的关键因素。在现代商业环境中,商贸与物流之间的紧密协作是业务成功的关键因素。然而,许多组织面临着信息不对称、资源配套不足、以及系统间隔离等痛…

Windows的管理工具

任务计划程序:这是一个用来安排任务自动运行的工具。你可以在这里创建新的任务,设定触发条件,并指定任务的操作。 事件查看器:这是一套日志记录和分析工具,,你可以了解到系统的工作状况,帮助诊…

Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享

本书从一个系统化的视角,秉承大道至简的主导思想,介绍Spark中最值得关注的内 容,讲解Spark部署、开发实战,并结合Spark的运行机制及拓展,帮读者开启Spark技术之旅。 Spark大数据处理:技术、应用与性能优化…

阿里云邮件推送邮件发送失败的问题排查解决

阿里云邮件推送为何失败?解决邮件推送失败的步骤指南! 即便是功能强大的阿里云邮件推送服务,也可能在实际使用中遇到邮件发送失败的问题。AokSend将详细介绍如何排查和解决阿里云邮件推送邮件发送失败的问题。 阿里云邮件推送:验…

深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手

我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的“积木”来构建智能程序,这些程序能够阅读、理解和撰写文本&#xf…

6.26.3 基于Transformer的深度神经网络在数字乳腺断层合成图像上的乳腺癌分类

开发一种有效的深度神经网络模型,该模型结合了相邻图像部分的上下文,以检测数字乳腺断层合成(DBT)图像上的乳腺癌。 数字乳房断层合成(DBT)是一种医学成像技术,其中检测器围绕患者以有限角度旋转并记录多幅图像。然后将这些图像重建为二维(2D…

盛元广通打造智慧校园实验室安全管理系统

盛元广通智慧校园实验室安全管理系统以安全为重点,构建由学校、二级单位、实验室组成的三级联动的实验室安全多级管理体系、多类用户角色,内置教育部标准检查表,支撑实验室相关业务过程的智慧管理。实现通过PC端/手机移动端开展检查工作、手机…

一个opencv实现检测程序

引言 图像处理是计算机视觉中的一个重要领域,它在许多应用中扮演着关键角色,如自动驾驶、医疗图像分析和人脸识别等。边缘检测是图像处理中的基本任务之一,它用于识别图像中的显著边界。本文将通过一个基于 Python 和 OpenCV 的示例程序&…

Vue86-Vuex中的getters属性

一、getters的使用 1-1、index.js中getters的书写 计算属性computed靠return获得返回值! 1-2、组件中getters的调用 state是数据源,getters是拿着数据源里的东西进行一番加工。像极了:data和computed 二、小结

Map Set(Java篇详解)

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:Java专栏👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 等 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支持…

设备的智能决策AI大模型与ESP32-S3芯片应用,启明云端乐鑫代理商

在数字化浪潮的推动下,智能家居、智能安防、智能设备等领域对AI技术的需求日益增长,人工智能(AI)正迅速成为推动各行各业创新的核心力量。 AI大模型技术以其强大的数据处理能力和深度学习能力,正在成为智能时代的新动…

图书电商引入实在Agent:自动化运营提效80%,节省人天1000+

某知名教辅图书品牌深耕中小学教辅图书领域,是中国最具影响力的教育出版策划与发行集团之一,以丰富的图书品类,满足了小学、初中、高中各年龄段读者多元化的阅读需求。 2023年,该品牌在运营、客服等多部门超60个场景中部署实在Ag…

维护el-table列,循环生成el-table

1、lib/setting.js(维护table列) const columns[{ label: 类型, prop: energyName, width: 150, isText: true },{ label: 消耗量(t或10⁴m), prop: inputNum, isInput: true },{label: CO₂,children: [// { label: 核算因子, prop: co2FactorValue, w…