liunx自定义systemctl系统服务

目录

例1:将mysql加入到系统服务中

Linux *.service文件详解


如果是自己通过tar包安装的Mysql,不会自动添加到系统服务中,可通过如下方式,自己添加。 一、查看pid路径:

方法一:
1.先启动一下mysql

${mysql}/support-files/mysql.server start

2.成功后,通过ps命令查看pid文件路径

ps -ef|grep mysql

 方法二:
直接查看mysql配置文件my.cnf

cat /etc/my.cnf | grep pid-file

pid-file=/usr/local/mysql/data/mysql.pid

二、在/usr/lib/systemd/system目录下增加mysql.service,内容如下

[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/mysql/data/mysql.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server reload
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=false

[Install]
WantedBy=multi-user.target
 

三、重新载入单元,扫描新的或有变化的单元,使刚刚添加的mysql.service生效

systemctl daemon-reload

Linux *.service文件详解

 什么是systemd service?

systemd service 是一种以 .service 结尾的配置文件,是一个专用于 Linux 操作系统的系统与服务管理器。简单来说,用于后台以守护进程(daemon)的形式运行程序。

.service 文件通常包含 3 个模块: 

[Unit] 控制单元,表示启动顺序和依赖关系。

[Service] 服务,表示服务的定义。

[Install] 安装,表示如何安装配置文件。

示例:

[Unit]

Description=httpd        #当前配置文件的描述信息
After=network.target     #表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动


[Service]
Type=forking             #定义启动类型
ExecStart=/usr/local/apache/bin/apachectl start     #定义启动进程时执行的命令
ExecReload=/usr/local/apache/bin/apachectl restart  #重启服务时执行的命令
ExecStop=/usr/local/apache/bin/apachectl stop       #定义关闭进程时执行的命令
PrivateTmp=true                                     #是否分配独立空间


[Install]
WantedBy=multi-user.target    #表示多用户命令行状态

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值