Linux系统知识(十)-自带的守护进程_systemd系统与systemctl命令

1、Systemd:

  传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV init为基础的系统的缺点。

  ①检查是否安装了systemd

root@ubuntu:~# systemd --version  #或者systemctl --version
systemd 237 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid

  ②检查安装位置

1 root@ubuntu:~# whereis systemd
2 systemd: /usr/lib/systemd /bin/systemd /etc/systemd /lib/systemd /usr/share/systemd /usr/share/man/man1/systemd.1.gz
3 root@ubuntu:~# whereis systemctl
4 systemctl: /bin/systemctl /usr/share/man/man1/systemctl.1.gz
5 root@ubuntu:~#   

2、systemctl:

  systemctl是Systemd的主命令,用于管理系统。systemctl命令太多,下面列举几个与服务相关的常用命令

  (1)服务相关的命令:

    systemctl list-unit-files --type=service  # 列出所有服务
    systemctl start httpd.service       # 启动一个服务,.service为shell脚本的后缀
    systemctl restart httpd.service # 重启一个服务
    systemctl stop httpd.service       # 停止一个服务
    systemctl kill httpd.service       # 杀死一个服务
    systemctl reload httpd.service      # 重载一个服务
    systemctl status httpd.service      # 检测服务的状态
    systemctl is-active httpd.service # 查看服务是否运行
    systemctl is-enabled http.service    # 查看服务是否是开机自启
    systemctl enable httpd.service      # 使某个服务开机自启
    systemctl disable httpd.service     # 是某个服务不开机自启

  (2)系统相关的:

1     关机:systemctl halt, systemctl poweroff
2     重启:systemctl reboot
3     挂起:systemctl suspend
4     快照:systemctl hibernate
5     快照并挂起:systemctl hybrid-sleep
6     hostnamectl        #查看当前的主机信息
7     timedatectl         #查看当前时区设置
  其他命令可见:Systemd 入门教程:命令篇

3、补充一-.service示例:

[Unit]
Description=AMvcTest #服务描述

[Service]
WorkingDirectory=/website/blogcore #工作目录,填你应用的绝对路径
ExecStart=/bin/sh /root/startTest.sh  #启动:前半截是sh的位置(一般都在这个位置),后半部分是要执行的脚本
Restart=always
#RestartSec=25 #如果服务出现问题会在25秒后重启,数值可自己设置
SyslogIdentifier=blogcore #设置日志标识,此行可以没有
#User=root #配置服务用户
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target

 放到/etc/systemd/system/目录中(和init配置方式相似,见linux部署项目的mono篇末尾对mono开机自启的处理

posted @ 2022-02-07 11:15  ꧁执笔小白꧂  阅读(643)  评论(0编辑  收藏  举报