热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux怎么设置开机启动守护进程,linux设置开机自启systemctl

systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。systemd是一个系统管理守护进程、工具和库的集合,用于取代S

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.



推荐阅读
author-avatar
qinsg688_377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有