Systemd ist ein init-Dienst zum Steuern von Prozessen ähnlich wie Upstart und SysVinit-Skripten.
Um einen neuen Service anzulegen, muss eine Textdatei mit der Endung
.service
in /etc/systemd/system erstellt werden.
Datei: /etc/systemd/system/phantomjs@.service
[Unit] Description=PhantomJS headless browser with HighCharts After=network.target [Service] ExecStart=/usr/bin/phantomjs /home/%i/highcharts/highcharts-convert.js -host xxx.xxx.xxx.xxx -port 3003 KillMode=process Restart=on-failure on-abort User=%i Group=%i
Das @ im Dateinamen steht dafür, dass der Prozess von mehreren Benutzern gestartet werden kann.
%i: Benutzername
ACHTUNG: Relative Pfade werden NICHT unterstützt!
Nach jeder Veränderung, oder dem hinzufügen eines Systemd-Services, muss mit
systemctl daemon-reload
der Daemon neu geladen werden.
systemctl start phantomjs@USERNAME #startet den Prozess systemctl stop phantomjs@USERNAME #beendet den Prozess systemctl enable phantomjs@USERNAME #aktiviert den Prozess(wird bei systemstart ausgeführt) systemctl disable phantomjs@USERNAME #deaktiviert den Prozess systemctl status phantomjs@USERNAME #zeigt, ob der Prozess läuft, evtl. Fehler und seinen Output