基本语法
- 在/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
- 部分参数说明
Description:描述服务 After:依赖,当依赖的服务启动之后再启动自定义的服务
[Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
基本使用
- 第一步需要先执行这个命令来重载服务
systemctl daemon-reload
- 开机启动agent服务
systemctl enable agent
- 去掉开机启动agent服务
systemctl disable agent
- 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 文件名就行了