应用程序从 start.sh 和 monit .jar 文件启动 (systemd)

应用程序从 start.sh 和 monit .jar 文件启动 (systemd)

如何正确编写一个服务,允许使用 start.sh 启动应用程序(其中有一个 bash 命令)并监视(.jar)应用程序?

[Unit]
Description=Some service 
After=syslog.target
[Service]
User=userXService
Restart=always
RestartSec=300s
WorkingDirectory=/opt/test/target
ExecStart=/opt/test/start.sh 
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

start.sh包含具有一些环境变量的 bash 脚本:

#!/bin/bash
MEMORY="-Xms640m -Xmx640m"
HEAP_DUMP="-XX:+HeapDumpOnOutOfMemoryError"
SECURITY_RANDOM="-Djava.security.egd=file:/dev/./urandom"
REMOTE_JMX="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=16078 -Dcom.sun.management.jmxremote.port=16078 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

cd $DIRECTORY/target
java $HEAP_DUMP $MEMORY $SECURITY_RANDOM $REMOTE_JMX -jar test-application.jar --spring.profiles.active=database >> ../test-application.log 2>&1 &`

相关内容