Auf einem Mac ein Node-Script per Deamon aufrufen

Um ein Node – Script als ein Deamon auszuführen, ist nur ein Startscript nötig.

Als Beispiel wird ein Node Script zum Starten einer „Homematic“-Komponente „ccu.io.js“ auf einem Mac-Server dargestellt.

Voraussetzungen:

  • Hier wird davon ausgegangen das Node Funktionsfähig Installiert ist.
  • In diesem Fall ist die CCU.IO-Komponente, im Verzeichnis /opt, ebenfalls funktionsfähig installiert.
    • Sollte hier ein User die Komponente CCU.IO starten wollen, dann bitte auch entsprechende Lese und Schreibrechte in dem Verzeichnis setzen.
  • Sollte ein Script mit Root-Rechten angesprochen werden, ist ebenfalls ein Rootzugriff oder ein Eintrag in der Sudo-Liste erforderlich
    • Ein Root-zugriff ist bei Komponenten erforderlich, welche in die Systemeigenen Log-Verzeichnisse schreiben möchten.

Die Startscriptvorlage wurde in diesen Beispieln unter /Users/Stephan/Desktop mit dem Name ccuio.plist gespeichert.

 

Prolog

Zuerst muss Überlegt werden wann das Script gestartet werden soll und mit welchen Rechten.

Sollte es ausreichen, das dieses Script gestartet wird wenn sich ein Benutzt am PC anmeldet, dann kann im nachfolgenden bei dem Eintrag „User-Startscript“ weiter gearbeitet werden.

Sollte das Script aber mit Root-Rechten oder bei einem Start des PC ausgeführt werden dann ist beim Eintrag „Root-Startscript“ weiter zu arbeiten.

 

User-Startscript
Bei jeder Anmeldung des Users wird das Startskript automatisch ausgeführt.

Kopiere eine existierende plist aus dem User-Verzeichnis in das LaunchAgents Verzeichnis des Users. (Beachte auch am Ende des Beitrags die Verzeichniserklärung).

Laden des Scripts

Sarte das Script

 

Root-Startscript

Für nachfolgende Aktionen in einem Terminal ist ein Sudo (mit Adminpasswort) erforderlich.

Kopiere eine existierende plist aus dem User-Verzeichnis in das LaunchAgents Verzeichnis. (Beachte auch am Ende des Beitrags die Verzeichniserklärung)

Ändere den Besitzer auf root

Passe die Dateirechte an.

Lade das Script

Sarte das Script

 

Zusätze

Stopt das Script (User-Script)

Stopt das Script (Root-Script)

Entläd das Script (User-Script)

Entläd das Script (Root-Script)

Anzeigen einer Liste, was alles unter „homematic“ im launchd eingetragen ist.

Testen was alles unter einem CCU.IO läuft

 

Verzeichniserklärung

~/Library/LaunchAgents ……….→ Userskript, wird ausgeführt, wenn sich $USER anmeldet. Owner = $USER
/Library/LaunchAgents ………. → Wird bei jedem User bei der Anmeldung ausgeführt. Owner = root
/Library/LaunchDaemons ……… → Wird beim Systemstart ausgeführt. Owner = root
/System/Library/LaunchAgents … → Sollte nicht verwendet werden!
/System/Library/LaunchDaemons .. → Sollte nicht verwendet werden!

Dieser Beitrag wurde unter Heimsteuerung, PC-Hilfe abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.