原帖链接http://maxqiu.com/article/articleDetail/20
PS:以下命令在
root
用户下执行
1 编写xxx.service
使用vim
命令新建一个服务文件
vim /usr/lib/systemd/system/xxx.service
/usr/lib/systemd/system/
该目录存放Linux系统所有的服务
内容如下:
[Unit] Description=xxx.service After=network.target [Service] Type=forking ExecStart=/xxx/jfinal.sh startExecReload=/xxx/jfinal.sh restartExecStop=/xxx/jfinal.sh stopSuccessExitStatus=143 [Install] WantedBy=multi-user.target
Description
为服务描述,可任意填写,/xxx
为自己的项目路径,一定要使用绝对路径
关于systemd.service
的详解,参见systemd.service 中文手册
关于为什么要设置SuccessExitStatus=143
,参见
1.Exit codes 【关键语:linux 系统调用 exit(int status) 的退出值的说明 】
2.Services remain in failed state after stopped with systemctl
2 修改jfinal.sh
将function start()内的java命令使用绝对路径,比如,当jdk安装在/usr/local/jdk/时,则如下示例
如果使用输出日志,则输出日志也需要使用绝对路径
3 开启服务
# 重载系统服务 systemctl daemon-reload # 设置开机自启 systemctl enable xxx.service
4 其他服务控制
# 启动服务 systemctl start xxx.service # 关闭服务 systemctl stop xxx.service # 重启服务 systemctl restart xxx.service
完成,收工