Linux systemd startup script

Can I execute this startup service below, there are no errors displayed after startup, but the server script below does not start!

ln /lib/systemd/aquarium.service aquarium.service systemctl daemon-reload systemctl enable aquarium.service systemctl start aquarium.service 

thanks

aquarium.service:

 [Unit] Description=Start aquarium server [Service] WorkingDirectory=/home/root/python/code/aquarium/ ExecStart=/bin/bash server.* start KillMode=process [Install] WantedBy=multi-user.target 

here is server.sh script

 #!/bin/bash PID="" function get_pid { PID=`pidof python ./udpthread.py` } function stop { get_pid if [ -z $PID ]; then echo "server is not running." exit 1 else echo -n "Stopping server.." kill -9 $PID sleep 1 echo ".. Done." fi } function start { get_pid if [ -z $PID ]; then echo "Starting server.." ./udpthread.py & get_pid echo "Done. PID=$PID" else echo "server is already running, PID=$PID" fi } function restart { echo "Restarting server.." get_pid if [ -z $PID ]; then start else stop sleep 5 start fi } function status { get_pid if [ -z $PID ]; then echo "Server is not running." exit 1 else echo "Server is running, PID=$PID" fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" esac 
+9
source share
1 answer

Try using "Type = forking" and use the full file name.

 [Unit] Description=Start aquarium server [Service] WorkingDirectory=/home/root/python/code/aquarium/ Type=forking ExecStart=/bin/bash server.sh start KillMode=process [Install] WantedBy=multi-user.target 

if it doesn’t work, output the message of this command:

 # journalctl -u aquarium.service 
+18
source

All Articles