| 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.
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.
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
| 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.|
Add the following line at the end of the crontab list of user pi with the command crontab -e:
Or directly on the command line:
(crontab -l ; echo "@reboot /home/pi/startrocrail.sh")| crontab -
Check the crontab:
# For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @reboot /home/pi/startrocrail.sh
|A normal shutdown of the computer will issue to all running processes a kill command which also will shutdown the Rocrail Server normally.|
#!/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