systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
systemd是一个系统管理守护进程、工具和库的集合,用于取代System初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

1. 首先检查下系统是否支持systemd

[root@iZ2ze17f55b8hkvb4w1qv0Z system]# systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN

以上显示,说明该系统支持systemctl

2. 将程序设置成系统服务

常用命令:
#如果服务文件有过修改,则需要进行更新,执行下面这个命令

#systemctl daemon-reload

#查看服务是否被正确识别

#systemctl list-unit-files|grep myapp

2.1 编写系统服务文件

# vi /etc/systemd/system/qd.service

案例:

[Unit]
#服务描述,写有意义的内容,便于识别
Description=qd service
Documentation=https://www.hm1006.top
#放在该服务启动后启动,如果是Before,则是之前
After=network-online.target
#Wants=依赖起他unit,弱依赖,如果是Requires,强依赖
Wants=network-online.target

[Service]
Type=simple
#服务执行的路径
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /home/unicom/unicomCJ.jar
#指明停止unit要运行的命令或脚本
ExecStop=/bin/kill -s QUIT $MAINPID
#当意外中止时是否重启
Restart=always

StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

执行命令更新:
#systemctl daemon-reload

2.2 查看系统服务文件是否被识别

# systemctl list-unit-files|grep qd
qd.service                                    disable

2.3 服务启动|关闭|查看状态

# systemctl start  qd
# systemctl stop   qd
# systemctl status qd

或者(个人常用):

# service qd start
# service qd stop   
# service qd status 

2.4 将服务设置成开机自启动

开启命令:

# systemctl enable qd.service

反之:

# systemctl disable qd.service

2.5 查看服务的控制台日志

相当于tail -f

# journalctl -flu qd.service

Q.E.D.


如人饮水、冷暖自知