GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Impossible de démarrer une application en tant que service, mais l'exécution en tant que processus autonome fonctionne simplement ?

Pour un service bien qu'un fichier pid existe, mais toujours lors de la tentative de démarrage du service, il échoue en disant :

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

J'ai vérifié les autorisations de dossier sous /var/run (dont le propriétaire est root) et le sous-dossier cassandra appartient à l'utilisateur cassandra, mais le service ne peut toujours pas accéder au fichier pid même si j'ai vérifié que le fichier pid existe. (Le pid est également alloué). Alors pourquoi dit-il qu'il ne peut pas accéder au pidfile ?

Et exécutant cassandra en tant que processus autonome fonctionne, mais pas seulement en utilisant 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

Comment puis-je faire fonctionner cela en utilisant sudo service cassandra start ?

Réponse acceptée :

Vous devez supprimer /var/run/cassandra dossier donc il a de mauvaises permissions :

sudo rm -rf /var/run/cassandra

Ou vous pouvez corriger les autorisations manuellement :

sudo chmod 750 /var/run/cassandra

Ensuite, démarrez Cassandra en tant que service :

sudo service cassandra start

Quelques explications

Des instructions sur les autorisations de fichiers que vous pouvez trouver ici.

  • Vous pouvez supprimer ce dossier en toute sécurité, car il se recrée avec les autorisations et le contenu appropriés. Mais ne le supprimez pas une fois qu'il fonctionne correctement. Cela peut entraîner une perte de données ou un comportement incorrect.

  • chmod 750 déchiffre en tant que rwxr-x — autorisations. Il autorise la lecture-écriture-exécution à l'utilisateur, la lecture-exécution au groupe et rien aux autres. Pour Cassandra, il suffit de paramétrer les permissions ainsi.


Ubuntu
  1. Installer Apache Cassandra sur Ubuntu 20.04 - Processus étape par étape ?

  2. Démarrer, arrêter ou redémarrer les services dans CentOS 8 - Processus étape par étape ?

  3. Wireguard Handshake fonctionne mais pas d'accès Internet ?

  4. Impossible d'obtenir le service Noip2 pour démarrer au démarrage ?

  5. Le service Systemctl a expiré lors du démarrage ?

Comment démarrer le service au démarrage sur Ubuntu 22.04

Comment démarrer, arrêter ou redémarrer les services dans Ubuntu

Processus en cours d'exécution

Impossible de démarrer le service postgresql sur CentOS 7

Arrêter le programme en cours d'exécution au démarrage sous Linux

Plugin Nagios générique pour vérifier si un processus/service spécifique est en cours d'exécution ?