• Linux服务管理


    1.service

    service命令,顾名思义,就是用于管理Linux操作系统中服务的命令。

    这个命令不是在所有的linux发行版本中都有。主要是在redhat、fedora、mandriva和centos中。

    查看所有服务当前的运行状态:

    ┌──(root㉿kali)-[~/dahe]
    └─# service --status-all
     [ - ]  apache-htcacheclean
     [ - ]  apache2
     [ - ]  apparmor
     [ + ]  atd
     [ - ]  atftpd
     [ - ]  avahi-daemon
     [ + ]  binfmt-support
     [ - ]  bluetooth
     [ - ]  console-setup.sh
    ...
    

    查看指定服务的运行状态:

    ┌──(root㉿kali)-[~/dahe]
    └─# service sudo status 
    ○ sudo.service
         Loaded: masked (Reason: Unit sudo.service is masked.)
         Active: inactive (dead)
    

    停止指定服务:

    service 服务名 stop
    

    重启某个服务:

    service 服务名 restart
    

    2.chkconfig

    chkconfig实用程序是一个命令行工具,允许你在指定运行级别下启动所选服务,以及列出所有可用服务及其当前设置。

    此外,它还允许我们从启动中启用或禁用服务。前提是你有超级管理员权限(root 或者sudo)运行这个命令。

    所有的服务脚本位于/etc/init.d文件中🫒

    设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭:

    chkconfig --level 35 mysqld on 
    

    设定mysqld在各等级为on,“各等级”包括2、3、4、5等级:

    chkconfig mysqld on    
    

    3.systemctl

    systemd核心概念unit(单元)类型:unit表示不同类型的systemd对象,通过配置文件进行标识和配置; 文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息

    systemd的配置文件目录:

    /usr/lib/systemd/system/
    

    查看所有的systemd指令管理的服务:

    ┌──(root💀kali)-[~/Desktop]
    └─# ls -l /usr/lib/systemd/system/                                                                                            1 ⨯
    total 1236
    -rw-r--r-- 1 root root  419 Nov 13  2020  apache2.service
    -rw-r--r-- 1 root root  491 Nov 13  2020  apache2@.service
    -rw-r--r-- 1 root root  603 Sep  1  2020  apache-htcacheclean.service
    -rw-r--r-- 1 root root  612 Sep  1  2020  apache-htcacheclean@.service
    -rw-r--r-- 1 root root 1162 Apr  3  2021  apparmor.service
    -rw-r--r-- 1 root root  326 Apr 13  2021  apt-daily.service
    -rw-r--r-- 1 root root  156 Apr 13  2021  apt-daily.timer
    -rw-r--r-- 1 root root  389 Apr 13  2021  apt-daily-upgrade.service
    -rw-r--r-- 1 root root  184 Apr 13  2021  apt-daily-upgrade.timer
    -rw-r--r-- 1 root root  686 Aug  3  2016  auth-rpcgss-module.service
    lrwxrwxrwx 1 root root   14 Apr 12  2021  autovt@.service -> getty@.service
    -rw-r--r-- 1 root root 1044 Feb  6  2021  avahi-daemon.service
    -rw-r--r-- 1 root root  870 Feb  6  2021  avahi-daemon.socket
    -rw-r--r-- 1 root root  927 Feb  2  2021  basic.target
    -rw-r--r-- 1 root root 1159 Apr 17  2020  binfmt-support.service
    -rw-r--r-- 1 root root  449 Feb  2  2021  blockdev@.target
    ...
    

    查看服务的状态:

    查看httpd服务的状态:

    systemctl status httpd
    

    运行状态:

    • active(running):正有一只或多只程序正在系统中执行的意思;
    • active(exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行;
    • active(waiting):正在执行当中,不过还需要等待其他的事件才能继续处理;
    • inactive:这个服务目前没有运行;
    • dead:程序已经清除;

    启动状态:

    • enabled:这个daemon将在开机时被执行;
    • disabled:这个daemon在开机时不会被执行;
    • static:这个daemon不可以自己启动(enable不可),不过可能会被其他的enabled 的服务来唤醒(关联属性的服务);
    • mask:这个daemon无论如何都无法被启动,因为已经被强制注销(非删除)

    在这里插入图片描述

    查看服务的开机启动状态:

    查看关于ssh的服务的运行状态:

    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl list-unit-files | grep ssh                                                                                      
    ssh.service                                                               disabled        disabled
    ssh@.service                                                              static          -
    ssh.socket                                                                disabled        disabled
    rescue-ssh.target                                                         static          -
    

    停止某个服务:

    systemctl stop 服务名
    

    启动某个服务:

    systemctl start 服务名
    

    查看某个服务是否是开机启动的:

    查看ssh服务是否开机自启:(如下表示开机不自启)

    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl is-enabled ssh
    disabled
    

    设置某一服务开机自启:

    设置ssh服务开机自启:

    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl enable ssh                                                                                                      1 ⨯
    Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable ssh
    Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
    Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
                                                                                                                                      
    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl is-enabled ssh
    enabled
    

    设置某一服务开机不自启动:

    设置ssh服务开机不自启动:

    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl disable ssh   
    Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install disable ssh
    Removed /etc/systemd/system/sshd.service.
    Removed /etc/systemd/system/multi-user.target.wants/ssh.service.
                                                                                                                                      
    ┌──(root💀kali)-[~/Desktop]
    └─# systemctl is-enabled ssh
    disabled
    
  • 相关阅读:
    使用gdb调试Android(aarch 64)可执行二进制文件
    uniapp 小程序实现底部tabbar的按钮
    鸿蒙-实践课程六 android、HarmonyOS 权限对比
    手机投屏到电脑时,手机提示连接失败
    电脑操作系统你真的搞懂了分类?(第五十三课)
    java计算机毕业设计学生请假系统演示源码+mysql数据库+lw文档+系统+调试部署
    10分钟,我写完了8小时的CSS样式,我真棒!
    Miracast专业术语
    NFV中:DPDK与SR-IOV应用场景及性能对比
    python爬虫
  • 原文地址:https://blog.csdn.net/Gherbirthday0916/article/details/126993530