centos7重启或关机卡死 |
您所在的位置:网站首页 › linux重启卡在reached › centos7重启或关机卡死 |
这个问题其实是systemd219这个版本的问题(查看systemd版本,请使用systemctl --version)。 由于systemd进程的判断比之前更加严格,如果某些进程不响应SIGTERM信号,可能会导致重启是挂死,该问题和业务进程对SIGTERM信号的处理有关。 解决方法: 1、备份/etc/systemd/system.conf cp -a /etc/systemd/system.conf /etc/systemd/system.conf_bak当作为系统实现运行时,systemd将会按照system.conf配置文件以及system.conf.d配置目录中的指令工作,当作为用户实例运行时,systemd将会按照user.conf配置文件以及user.conf.d配置目录中的指令工作。这些配置文件包含了控制systemd行为的设置。 2、修改文件 # sed -i 's/#DefaultTimeoutStopSec=90s/DefaultTimeoutStopSec=30s/g' /etc/systemd/system.conf用systemd管理进程时,系统复位默认等待时间为90s,如果一个进程不能正常结束,则需要倒计时90s,系统才能复位。修改为30s 3、重新加载 # systemctl daemon-reloadsystemd Linux操作系统的开机过程是这样的,即从bios开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的化工作,为用户提供合适的工作环境。 RHEL、CentOS7等Linux发行系统已经替换了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务。systemd初始化服务采用了并发启动机制,开机速度得到了不小的提升。 1、systemd概述 systemd即为system daemon,是Linux下的一种init软件,在LGPL 2.1及其后续版本许可下开源发布,开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依次实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果。 systemd的优点是功能强大、使用方便,缺点是体系庞大、非常复杂。事实上,现在还有很多我反对使用systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反“keep simple, keep stupid”的Unix哲学。 2、系统管理相关命令 (1)systemctl是systemd是主命令,用于管理系统和服务 重启系统 systemctl reboot 关闭系统,切断电源 systemctl poweroff CPU停止工作 systemctl halt 暂停系统 systemctl suspend 让系统进入冬眠状态 systemctl hibernate 让系统进入交互式休眠状态 systemctl hybrid-sleep 启动进入救援状态 systemctl rescue 立即启动一个服务 systemctl start httpd.service 立即停止一个服务 systemctl stop httpd.service 立即重启一个服务 systemctl restart httpd.service 杀死一个服务的所有子进程 systemctl kill httpd.service 重新加载一个服务的配置文件 systemctl reload httpd.service 重载所有修改过的配置文件 systemctl daemon-reload 显示某个unit的所有底层参数 systemctl show httpd.service
(2)systemd-analyze命令用于查看启动耗时 查看系统启动耗时 systemd-analyze 查看每个服务的启动耗时 systemd-analyze blame 显示瀑布状的系统启动过程流 systemd-analyze critical-chain 显示指定服务的启动流 systemd-analyze critical-chain atd.service (3)hostnamectl命令用于查看当前主机的信息 显示当前主机的信息 hostnamectl 设置主机名 hostnamectl set-hostname xuad1 (4)localectl命令用于查看本地化设置 查看本地化设置 localectl 设置本地化参数 localectl set-locale LANG=zh_CN.UTF-8 (5)timedatectl命令用于查看当前系统时区设置 查看当前时区设置 timedatectl 显示所有可用的时区 timedatectl list-timezones (6)loginctl命令用于查看当前登陆的用户 列出当前session loginctl list-sessions 列出当前登录用户 loginctl list-users 列出显示指定用户的信息 loginctl show-user root 3、unit相关命令 systemd可以管理所有系统资源,不同的资源统称为Unit(单位),unit一共分成12种。 Service unit:系统服务 Target unit:多个Unit构成的一个组 Device Unit:硬件设备 Mount Unit:文件系统的挂载点 Automount Unit:自动挂载点 Path Unit:文件或路径 Scope Unit:不是由Systemd启动的外部进程 Slice Unit:进程组 Snapshot Unit:Systemd快照,可以切回某个快照 Socket Unit:进程间通信的socket Swap Unit:swap文件 Timer Unit:定时器(1)列出已启动的unit systemctl list-units 列出所有unit,包括没有找到配置文件的或启动失败的 systemctl list-units --all 列出所有没有启动的unit systemctl list-units --all --state=inactive 列出所有正在运行的、类型为service的unit systemctl list-units --type=service (2)systemctl status命令用于查看系统状态和单个unit的状态 显示单个unit的状态 systemctl status httpd.service |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |