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.