1、Systemd:

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

  ①检查是否安装了systemd

systemctl --version
  • 1.
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.

  ②检查安装位置

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:~#
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
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       # 查看服务是否运行
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
systemctl is-enabled http.service    # 查看服务是否是开机自启
    systemctl enable httpd.service      # 使某个服务开机自启
    systemctl disable httpd.service     # 是某个服务不开机自启
  • 1.
  • 2.
  • 3.

  (2)系统相关的:

1     关机:systemctl halt, systemctl poweroff
2     重启:systemctl reboot
3     挂起:systemctl suspend
4     快照:systemctl hibernate
5     快照并挂起:systemctl hybrid-sleep
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
6     hostnamectl        #查看当前的主机信息
7     timedatectl         #查看当前时区设置
  • 1.
  • 2.
  其他命令可见: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开机自启的处理)

作者:꧁执笔小白꧂