GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Non è possibile avviare un'applicazione come servizio, ma l'esecuzione come processo autonomo funziona semplicemente?

Per un servizio sebbene esista un file pid, ma quando si tenta di avviare il servizio, non riesce a dire:

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

Ho verificato le autorizzazioni della cartella in /var/run (il cui proprietario è root) e la sottocartella cassandra è di proprietà dell'utente cassandra, ma il servizio non può ancora accedere al file pid anche se ho verificato che esiste il file pid. (Anche pid è allocato). Allora perché dice che non può accedere a pidfile?

Ed eseguendo cassandra come processo autonomo funziona, ma non solo usando 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

Come faccio a farlo funzionare usando sudo service cassandra start ?

Risposta accettata:

Devi rimuovere /var/run/cassandra cartella quindi ha permessi errati:

sudo rm -rf /var/run/cassandra

Oppure puoi correggere le autorizzazioni manualmente:

sudo chmod 750 /var/run/cassandra

Quindi avvia Cassandra come servizio:

sudo service cassandra start

Alcune spiegazioni

Le istruzioni sui permessi dei file le trovi qui.

  • È sicuro eliminare quella cartella perché viene ricreata con le autorizzazioni e il contenuto corretti. Ma non eliminarlo una volta che funziona correttamente. Potrebbe causare la perdita di dati o un comportamento non corretto.

  • chmod 750 decodifica come rwxr-x— autorizzazioni. Consente la lettura-scrittura-esecuzione all'utente, la lettura-esecuzione al gruppo e niente agli altri. Per Cassandra basta impostare i permessi così.


Ubuntu
  1. Garantire che un processo sia sempre in esecuzione?

  2. Wireguard Handshake funziona ma nessun accesso a Internet?

  3. Servizio Systemctl scaduto durante l'avvio?

  4. Il server Vino Vnc non riesce ad avviarsi all'avvio?

  5. Apache/Mysql non è in esecuzione. Sbagliato?

Come avviare il servizio all'avvio su Ubuntu 22.04

Come avviare, arrestare o riavviare i servizi in Ubuntu

Processi in esecuzione

Impossibile avviare il servizio postgresql su CentOS 7

Arresta il programma in esecuzione all'avvio in Linux

Plugin Nagios generico per verificare se un processo/servizio specifico è in esecuzione?