User Tools

Site Tools


rocrail-linux-user-en

Auto start in user context

Content Rocrail Server



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
rocrail-linux-user-en.txt · Last modified: 2022/02/28 19:09 by smitt48