PLC Service

From PlcWiki

Revision as of 13:01, 29 June 2010 by David (Talk | contribs)
Jump to: navigation, search

PLC Service is a unified way of running tasks in the background.

Any script or program can be run as a system service.


Contents

Service installation

/usr/local/plc/bin/plc_service_install <service name>

This command will install and start a new system service. If the program has the same name as the service, is in /usr/local/plc/bin/ directory and doesn't take any command line options, no other configuration is needed. If the service name starts with plc_, string

/usr/local/plc/etc/<service name>_<WPID>.cfg

is passed as a command line parameter if not overriden in the service configuration file.

Service uninstallation

/usr/local/plc/bin/plc_service_uninstall <service name>

This command stops and uninstalls given PLC service.

Service list

/usr/local/plc/bin/plc_service_list [-s]

List all installed PLC services. -s option also shows their status.

Service configuration

Service configuration file has to be named like this (sorted in the order of precedence):

  1. /usr/local/plc/etc/service/<name>.cfg
  2. /usr/local/plc/etc/service/<name>
  3. /usr/local/plc/etc/<name>.service.cfg
  4. /usr/local/plc/etc/<name>

Commented configuration file example

# Not necessary if the program name is the same as the service name
PROGRAM="/usr/local/plc/bin/blah"

# Start again if the process gets killed by accident or crashes.
# Set to "yes" by default.
KEEPRUNNING=yes

# Command line arguments
OPTIONS="-v"

# Default stdout log file is named /usr/local/plc/log/<name>.service.log"
#LOG=/tmp/logfile.log

# Default error log file is named /usr/local/plc/log/<name>.service.err.log"
#ERRORLOG=/tmp/errlogfile.log

# If set, standard output and standard error output are redirected to the same file ( $LOG ).
# Set to "yes" by default.
#COMMONLOG=no



# Any other variables set here will be accessible from the program

RUNFASTER=yes
DONTCRASH=yes
Personal tools