Table of Contents
Auto start in user context
The user pi is used in the examples. This is the preferred way to start the Rocrail Server automatically after reboot instead of running it as daemon in root context. |
Introduction
If the Rocrail Server runs on a dedicated computer like the Raspberry Pi, it would be helpful if the Server starts automatically after every reboot in user context.
There are several ways to establish this, but the crontab solution is very easy to implement.
Start script
The provided ~/Rocrail/startrocrail.sh
can also be used instead of writing your own.
This provided version supports also functions of the Server Monitor.
A start script from scratch
Create a start script, startrocrail.sh in the home directory of user pi by opening an editor like vi startrocrail.sh:
#!/bin/sh cd /home/pi/Rocrail /home/pi/Rocrail/bin/rocrail -l /home/pi/Rocrail/bin
Make the script executable:
chmod +x startrocrail.sh
Shutdown option
Use this option first if everything runs perfect. User pi is supposed to be a sudoer. |
To automatically shutdown the computer after the Rocrail Server did stop, add the following line to the startrocrail.sh script:
if [ $? -eq 70 ] then echo raspberry | sudo -S halt -p fi
The echo statement is followed by the password of the user. In this case its "raspberry", which is the default password of the user pi under Raspbian.
Rocrail will return 70 in case of a client shutdown command. A kill will return zero. |
CronTab
Add the following line at the end of the crontab list of user pi with the command crontab -e:
@reboot /home/pi/startrocrail.sh
Or directly on the command line:
(crontab -l ; echo "@reboot /home/pi/startrocrail.sh")| crontab -
Check the crontab:
crontab -l
Output:
# For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @reboot /home/pi/startrocrail.sh
Stop the Rocrail Server
A normal shutdown of the computer will issue to all running processes a kill command which also will shutdown the Rocrail Server normally. |
Rocview
Rocweb
andRoc
- System: Shutdown server.
Monitor
SSH Shell
killall rocrail
Provided startrocrail.sh
#!/bin/sh WS=$1 PASSWORD=$2 cd if [ ! $1 ]; then cd ~/Rocrail/default else cd ~/Rocrail/$WS fi ~/Rocrail/bin/rocrail -l ~/Rocrail/bin if [ $? -eq 70 ] then echo $PASSWORD | sudo -S halt -p fi