I have downloaded an HMI program that runs in Java. I would like to set
it up to run as a service, but I don’t know how.
It was not an rpm, but a downloaded zip file, which I unzipped to
/usr/local/bin/ignition as per the installation instructions. The
install instructions are written for Ubuntu, so they say to get hal and
then run the update-rc.d utility to get it to run as a service. Here are
the instructions for ubuntu:
* Install Java 6 if it is not already installed apt-get install sun-java6-jre * Install the "hal" package. This is required for licensing. apt-get install hal * Unzip files to /usr/local/bin/ignition unzip Ignition-build####-linux -d /usr/local/bin/ignition * Note: you will need to replace '####' with whatever the actual build number the file you are installing has. * Change into the directory you unzipped to cd /usr/local/bin/ignition * Set executable permissions on ignition.sh and ignition-gateway chmod +x ignition.sh chmod +x ignition-gateway * Create a symlink to ignition.sh in /etc/init.d/ cd /etc/init.d/ ln -s /usr/local/bin/ignition/ignition.sh ignition chmod +x ignition * Run the update-rc.d utility update-rc.d ignition defaults * You can now start and stop ignition with the following commands (as root/sudo) /etc/init.d/ignition start /etc/init.d/ignition stop * Ignition will start automatically when the computer boots up from here on out. If you wish to stop this behaviour then you need to use the update-rc.d tool to remove the service and delete the symlink we created earlier /etc/init.d/ignition stop update-rc.d -f ignition remove rm /etc/init.d/ignition * The Gateway Control Utility can be launched via the gcu.sh shell script in /usr/local/bin/ignition. It will need to be made executable first. chmod +x /usr/local/bin/ignition/gcu.sh * You are done. Open a web browser and navigate to http://localhost:8088/.
I tried to run the following, not being sure of what I was doing. As I
thought, it didn’t work.
tribaltrekker:/usr/local/bin/ignition # systemctl start ignition.service Failed to issue method call: Unit ignition.service failed to load: No such file or directory. See system logs and 'systemctl status ignition.service' for details. tribaltrekker:/usr/local/bin/ignition # systemctl status ignition.service ignition.service Loaded: error (Reason: No such file or directory) Active: inactive (dead)
So how do I get this program to be noticed by systemd so that I can set
it up to run as a service?
I am able to run the executable by the following:
tribaltrekker:/usr/local/bin/ignition # ./ignition.sh start Starting Ignition Gateway... WARN | wrapper | An encoding declaration is missing from the top of configuration file: WARN | wrapper | /usr/local/bin/ignition/wrapper-license.conf WARN | wrapper | trying the system encoding. Waiting for Ignition Gateway........... running: PID:11729
Notice that I was in the /usr/local/bin/ignition directory when I got it
started. I didn’t try and add that directory to my path.
Box #1: 12.3 | KDE 4.10 | AMD Phenom IIX4 | 64 | 16GB
Box #2: 12.2 | KDE 4.9.2 | AMD Athlon X3 | 64 | 4GB
Laptop: 12.3 | KDE 4.10 | Core i7-2620M | 64 | 8GB