linux-systemctl 自启动

基本语法

  1. 在/usr/lib/systemd/system/目录下新建立一个agent.service文件,格式如下:

Unit Description=java agent After=agent service

[Service] Type=forking ExecStart=/usr/local/agent/bin/startup.sh ExecReload=/usr/local/agent/bin/restart.sh ExecStop=/usr/local/agent/bin/shutdown.sh

[Install] WantedBy=multi-user.target

  1. 部分参数说明

Description:描述服务 After:依赖,当依赖的服务启动之后再启动自定义的服务

[Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

基本使用

  1. 第一步需要先执行这个命令来重载服务

systemctl daemon-reload

  1. 开机启动agent服务

systemctl enable agent

  1. 去掉开机启动agent服务

systemctl disable agent

  1. agent服务相关操作

systemctl start agent

扫描二维码关注公众号,回复: 13171275 查看本文章

systemctl stop agent

systemctl restart agent

systemctl status agent

demo

在 /usr/lib/systemd/system 下创建文件 my-jenkins.service

[Unit]
Description=description
After=jenkins.service
  
[Service]
Type=simple
User=root
Group=root
PIDFile=/usr/lib/jenkins/jenkins.pid
ExecStart=/usr/lib/jenkins/jenkins.sh
#ExecStart=/usr/bin/java -jar -server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8888 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 >> /var/log/jenkins/jenkins.log 2>&1 &
ExecReload=
ExecStop=kill -9 `cat /var/run/jenkins-service.pid`
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
复制代码

执行 systemctl start 文件名就行了

猜你喜欢

转载自juejin.im/post/7031057360042852388