CentOS开启服务命令详解

article/2025/11/10 20:36:07

一、学前须知

讲服务管理之前先了解下Linux的启动流程非常有必要,直观的先上CentOS的启动图:

Centos7

 

Centos6的也补充下:

wKiom1fVBELjXsvaAAUkuL83t2Q304.jpg

 

图片信息量较大,网友可根据自己的知识水平逐一按上图去填充自己,也欢迎指正;本节我们着重写系统服务管理,对启动流程仅做下面简要概述:(下节更新启动流程知识)

RHel6: 开机自检BIOS > MBR引导 > GRUB菜单 > 加载内核 > Init进程初始化

RHel7:开机自检BIOS > MBR引导 > GRUB2菜单 > 加载内核 >System进程初始化

 

此处我们关注最后一步的进程初始化程序sytem和Init.的区别

init: 

  • 一是启动时间长,init是串行启动,只有前一个进程启动完,才会启动下一个进程
  • 二是启动脚本复杂,Init进程只是执行启动脚本,不管其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长
  • 由Linux内核加载运行,位于 /sbin/init   ,是系统中第一个进程,PID永远为1

对于支持 service 的程序,安装的时候,会自动的在 /etc/init.d 目录添加一个配置文件。当我们使用 service 控制程序时,比如执行开启httpd的服务:service httpd  start  。那么我们的 service 就会开启 /etc/init.d/httpd 配置文件里面指向的 /usr/sbin/httpd 可执行文件

systemd:

  • 按需启动服务,减少系统资源消耗。
  • 尽可能并行启动进程,减少系统启动等待时间
  • 由Linx内核加载运行,位于 /usr/lib/systemd/systemd  ,是系统中第一个进程,PID永远为1        

对于支持 systemd 的程序,安装的时候,会自动的在 /usr/lib/systemd/system 目录添加一个配置文件。当我们使用 systemctl 控制该程序时,比如执行开启httpd服务:systemctl  start  httpd.service 。那么我们的 systemctl 就会开启 httpd.service 配置里面指向的 /usr/sbin/httpd 可执行文件

如果我们想让该程序开机启动,我们可以执行命令 systemctl enable  httpd,这个命令相当于在 /etc/systemd/system 目录添加一个软链接,指向 /usr/lib/systemd/system 目录下的 httpd.service 文件。这是因为开机时,Systemd只执行 /etc/systemd/system 目录里面的配置文件。

 

Init 进程的配置文件

参数

说明

/etc/init.d/

服务启动脚本配置文件存放目录

/etc/inittab

默认运行级别配置文件

/etc/init/rcS.conf

系统初始化配置文件

/etc/init/rc.conf

各运行级别初始化的配置文件

/etc/init/rcS-sulogin.conf

单用户模式启动 /sbin/sushell 环境的配置文件

/etc/init/control-alt-delete.conf

终端下的 ctrl+alt+del 热键操作的配置文件

/etc/sysconfig/init

tty终端的配置文件

/etc/init/start-ttys.conf

配置tty终端的开启数量、设备文件

/etc/init/tty.conf  或  /etc/init/serial.conf

控制tty终端的开启

Systemd进程的配置文件

参数

说明

/etc/systemd/system/default.target

取代/etc/inittab文件配置,通常符号链接到 /lib/systemd/system/graphical.target

/run/systemd/system/

系统执行过程中所产生的服务脚本所在目录

/etc/systemd/system/

里面存放着不同级别的开启自启服务 

/usr/lib/systemd/system/ 和 /lib/systemd/system/ 和,两个文件完全一样,因为lib是/usr/lib的软链接

每个服务最主要的启动脚本设置,类似于之前的 /etc/init.d/

运行级别和说明

运行级别

说明

Rehl 6/7 命令

Rhel7 命令

0

关机状态,使用该级别将会关机

init  0

 poweroff

1

系统救援模式,多用于系统维护

init  1

systemctl  isolate  rescue.target

2

字符界面的多用户模式(不可访问网络)

init  2

systemctl  isolate  mutil-user.target

3

字符界面的完整多用户模式,大多数服务器主机运行此级别

init  3

systemctl  isolate  mutil-user.target

4

未分配使用

init  4

systemctl  isolate  mutil-user.target

5

图形界面的多用户模式,提供了图形桌面操作环境

init  5

systemctl  isolate  graphical.target

6

重新启动主机

init  6

reboot

查看运行级别:

  • runlevel : 显示切换前的运行级别 和当前运行级别 (6/7)
  • systemctl get-default : 显示当前运行级别 (7)

永久设置开机模式

  •  systemctl set-default multi-user.target    开机默认为文本模式
  •  systemctl set-default graphical.target     开机默认为图形模式
  •  修改 /etc/inittab 默认运行级别配置文件(下节开机启动文章详解)
  •  

二、服务管理

有了以上的内容,再来看进程管理相信已经非常有底气了

Rhel6 用 service 和 chkconfig 来管理服务,它是 SystemV 架构下的一个工具。

Rhel7 是用 systemctl  来管理服务,它融合了之前的 service 和 chkconfig 的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。systemctl 是 systemd 架构下的一个工具。

动作

Rhel6 旧指令

Rhel7新指令

启动某服务

service  httpd   start

systemctl  start   httpd

停止某服务

service  httpd   stop 

systemctl  stop   httpd

重启某服务

service  httpd   restart

systemctl  restart  httpd

检查服务状态

service  httpd  status

systemctl  status  httpd

删除某服务 

chkconfig  --del  httpd

停掉应用,删除其配置文件

使服务开机自启动

chkconfig  --level   5  httpd   on

systemctl   enable  httpd

使服务开机不自启动

chkconfig  --level   5  httpd   off

systemctl   disable  httpd

显示所有已启动的服务

chkconfig  --list

systemctl list-unit-files | grep enabled

加入自定义服务

chkconfig  --add  test

systemctl   load  test

查询服务是否开机自启

chkconfig --list | grep httpd

systemctl  is-enabled   httpd

查看启动失败的服务

 

systemctl  --failed

systemd的一些常用命令:

列出所有可用单元 : systemctl  list-unit-files

列出所有运行的单元: systemctl list-unit-files | grep enabled 

列出所有可用服务:  systemctl list-unit-files  --type=service

列出所有运行的服务: systemctl list-unit-files  --type=service | grep enabled 

屏蔽httpd服务:systemctl  mask httpd

 

是的,明白原理后看服务管理就这么简单的几个指令,你Get到了吗?

 


http://chatgpt.dhexx.cn/article/4b1f1xaA.shtml

相关文章

启动consul服务命令

启动Consul 安装配置好Consul以后,我们可以通过简单的命令启动consul。先来看最简单的启动方式: consul agent -dev 在新终端中,执行如上操作。 hongweiyulocalhost:~$ consul agent -dev > Starting Consul agent... > Consul agen…

Windows 服务快捷启动命令

Windows 服务快捷启动命令 gpedit.msc-----组策略sndrec32-----录音机nslookup----- ip地址侦测器…

Linux 系统启动与服务管理

文章目录 1. 前言2. Linux 系统启动过程2.1 开机自检2.2 MBR 引导2.3 GRUB 菜单2.4 加载 Linux 内核2.5 init 进程初始化2.6 系统启动过程总结 3. init 进程与 systemd3.1 init 进程3.2 Centos5/6/7 init 进程对比3.3 systemd3.4 systemd 单元类型3.5 运行级别对应的 systemd 目…

linux启动服务

查看开机启动项 1:systemctl list-unit-files --typeservice 2:systemctl list-unit-files --typeservice | grep enabled 3:systemctl list-unit-files --typeservice | grep disabled 开机停止某个服务: 1:sudo …

Linux常用启动服务命令

一、Nginx 1、启动 [root172 udm-web]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf2、重新加载配置文件 [root172 udm-web]# /usr/local/nginx/sbin/nginx -s reload二、防火墙 1、查看状态 systemctl status firewalld2、关闭防火墙 systemc…

Windows 启动服务命令大全

描述: 在日常工作学习中,可能会常用到windows系统自带的计算器、记事本、画图等小工具,本文将介绍如何使用命令快速打开这些小工具。 1、快速启动画图工具 在以下三个地方输入画图工具命令:mspaint ,然后按“Enter”或…

Ubuntu常用终端命令

Ubuntu常用终端命令 1.显示任务管理器: ps aux 2.kill进程: kill PID号 3.后台运行程序: nohup python3 xxxx.py & 4.查看文件列表 ls 5.进入文件夹 cd 文件夹名 6.解压与压缩命令 6.1.tar 文件 # 打包,非压缩 tar…

ubuntu在终端中打开文件管理器

打开ubuntu的终端,输入nautilus [path] 弹出资源管理器界面

UBUNTU 18.04开机自启动脚本实现--打开终端、执行命令及终端输入文字

开机自启动 方法很多,测试了一下,在18.04中最方便的方法如下: 新建sh脚本 touch xxx.sh gedit xxx.h然后输入: #!/bin/bash## xxx.sh## 你的代码#exit 0保存后退出,并在终端继续执行: chmod ax xxx.sh通…

Ubuntu终端打开文件及查看目录

方法/步骤 1 ctrlaltt,调出终端。------------ 要去某个目录,用cd 例如: cd /home/yang/下载/ 在视图中,后面还有一个文件夹,我记不住,就按tab键一下。就自动出来了。 如果该文件夹下东西比较多&#x…

解决Ubuntu新装系统终端打不开

一、问题说明 笔者新安装的虚拟机,操作系统为Ubuntu18.10,出现终端打不开的情况:应用–终端打不开,ctrlaltt没反应,进入文件管理器,右键–在终端中打开也没反应。 二、解决方法 进入设置,找到…

Ubuntu 打开多个终端

Ctrl Shift T,一个终端开启多个小终端 Ctrl Alt T 开启多个独立终端 Ctrl Shift 加号,放大终端字体 Ctrl 减号,缩小终端字体

ubuntu打开linux,ubuntu怎样打开终端(方法5种)

虽然这不是一编技术经验,但是想起来小编刚接触ubuntu的时候也不会打开终端,所以今天小编就给一些玩ubuntu的新手们,分享一下经验。 怎样打开终端 (方法1) 1 首先在桌面任意空白处,按CTRLALTT 2 这时就弹出终端窗口 (呵呵这招最好用…

Ubuntu20.04 终端打开不了的问题排查

Ubuntu20.04 终端打开不了的问题排查 今天用virtualbox安装了ubuntu20.04 问题:右键打开终端,怎么也打开不了! 点了也没反应,或者鼠标转小圈圈,然后也没有反应… 解决方法: 1、Ctrl Alt F6 先切换到终…

ubuntu开机自动打开终端输入命令且执行命令

打开终端 输入 gedit ~/.bashrc打开 .bashrc文件 之后把要执行的命令写入文件末尾 保存退出 source ~/.bashrc更新文件 此时,打开终端后,就会自动执行命令 如果有sudo命令需要运行,则使用echo 输入密码。 比如:echo “passwor…

【Linux】ubuntu 20无法打开终端的解决方法

前因: 我在开发板Firefly上,用的是ubuntu操作系统,因其本身默认是英文输入法,没有中文输入法。所以,我安装了中文输入法,结果安装好了后,发现终端已经打不开了。。。。。。 无论是右键、单击程…

如何在Ubuntu中用终端打开pycharm

首先得知道你把pycharm放在哪个文件夹里了,我这里是直接在桌面创建了一个Application文件夹专门存放软件包,下载的pycharm包就存放在这里。 找到路径后进入bin文件夹,里面有一个pycharm.sh文件,你直接双击是没有用的,这…

ubuntu打开终端命令行的三种方法

一,简介 本文主要介绍,vmware虚拟机中打开终端命令行的方法,供参考。 二,操作方法 2.1 方法一:右键打开 2.2 点击开始按键: 2.3 使用快捷键“CTRLALTT” 三,总结 本文主要介绍3种打开终端命…

Ubuntu常用技巧:Ubuntu打开终端的3种方式

PS:大白将国内45家大厂的3500篇面经,整理成700页的《人工智能算法岗江湖武林秘籍》PDF文件,为大家求职、跳槽,提供一些帮助:查看下载 很多新手刚刚入门ubuntu的时候,不知道如何打开终端,博主刚开…

ubuntu/linux系统知识(10)ubuntu打开终端的n种方式你都会吗

🎀 关于博主👇🏻👇🏻👇🏻 🥇 作者简介: 热衷于知识探索和分享的技术博主。 💂 csdn主页::【奇妙之二进制】 ✍️ 微信公众号:【Linux …