GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Kann eine Anwendung nicht als Dienst gestartet werden, aber die Ausführung als eigenständiger Prozess funktioniert einfach?

Für einen Dienst existiert zwar eine PID-Datei, aber beim Versuch, den Dienst zu starten, schlägt es immer noch fehl und sagt:

$ sudo service cassandra start
* could not access pidfile for Cassandra

Ich habe die Ordnerberechtigungen unter /var/run überprüft (dessen Besitzer root ist) und der Unterordner cassandra gehört dem Benutzer cassandra, aber der Dienst kann immer noch nicht auf die PID-Datei zugreifen, obwohl ich überprüft habe, dass die PID-Datei existiert. (Auch pid wird zugewiesen). Warum sagt es also, dass es nicht auf die PID-Datei zugreifen kann?

Und cassandra ausführen als eigenständiger Prozess funktioniert nur, aber nicht nur mit service cassandra start

$ sudo ls -l /var/run/cassandra 
total 4 
-rw-r--r-- 1 cassandra cassandra 4 Mar 18 07:33 cassandra.pid
$ sudo su
# ls -ld /var/run/cassandra 
dr--r----- 2 cassandra cassandra 60 Mar 18 07:38 /var/run/cassandra

Wie mache ich das mit sudo service cassandra start ?

Akzeptierte Antwort:

Sie müssen /var/run/cassandra entfernen Ordner, daher hat er falsche Berechtigungen:

sudo rm -rf /var/run/cassandra

Oder Sie können Berechtigungen manuell korrigieren:

sudo chmod 750 /var/run/cassandra

Starten Sie dann Cassandra als Dienst:

sudo service cassandra start

Einige Erklärungen

Anleitungen zu Dateiberechtigungen finden Sie hier.

  • Es ist sicher, diesen Ordner zu löschen, da er mit den richtigen Berechtigungen und Inhalten neu erstellt wird. Aber löschen Sie es nicht, wenn es richtig funktioniert. Dies kann zu Datenverlust oder falschem Verhalten führen.

  • chmod 750 entschlüsselt als rwxr-x— Berechtigungen. Es erlaubt Lesen-Schreiben-Ausführen für den Benutzer, Lesen-Ausführen für die Gruppe und nichts für andere. Für Cassandra reicht es aus, Berechtigungen so zu setzen.


Ubuntu
  1. Installieren Sie Apache Cassandra auf Ubuntu 20.04 - Schritt für Schritt?

  2. Dienste in CentOS 8 starten, stoppen oder neu starten - Schritt-für-Schritt-Prozess?

  3. Kann Service Noip2 nicht beim Booten starten?

  4. Vino Vnc Server kann beim Start nicht gestartet werden?

  5. Django installiert, aber Django kann nicht in Python importiert werden?

So starten Sie den Dienst beim Booten unter Ubuntu 22.04

So starten, stoppen oder starten Sie Dienste in Ubuntu neu

Laufende Prozesse

Der postgresql-Dienst kann unter CentOS 7 nicht gestartet werden

Stoppen Sie das Programm, das beim Start in Linux ausgeführt wird

Generisches Nagios-Plugin, um zu überprüfen, ob ein bestimmter Prozess/Dienst ausgeführt wird?