Come posso modificare la verbosità del comando di servizio?


13

Sto eseguendo Kali 2 Linux. Uso il comando systemctlo serviceper avviare un servizio come Apache. Nella versione precedente di Kali il comando in realtà stampa un messaggio "OK" all'avvio di un servizio; ma su questa versione torna alla riga di comando senza dire nulla.

C'è un modo per cambiare la verbosità o farla comportare come la versione precedente?


Bene di solito quando non c'è nessun messaggio che significa successo.
Svetlin Tonchev,

Risposte:


1

Il servicecomando (di solito attivo /usr/sbin/) al giorno d'oggi è in genere solo uno bashscript shell che invoca il systemctlcomando. Dovresti essere facilmente in grado di modificarlo per dare l'output che desideri.


0

journaldÈ un demone centralizzato che raccoglie i dati da tutte le fonti disponibili e li memorizza in un formato binario per una manipolazione semplice e dinamica. Come risposta alla tua domanda direi che di solito quando non c'è un output significa che è "OK", e se vuoi essere sicuro usa journalctlper controllare i registri.


Lo so, ma mi piace la sensazione del messaggio ok a cui sono abituato, e ho bisogno che
scoppi

Se il servizio viene avviato o meno, non viene generato alcun output. Sono tentato di aggiungere un alias: servizio $ 1 inizio; servizio $ 1 stato
Lenne

-1

È possibile aggiungere un echo $?al comando per visualizzare uno stato di 1 o 0.

L' &&ha l'effetto di sola esecuzione del secondo comando se il precedente è successo.

systemctl start mysqld.service && echo $? 

Questo mostrerà uno stato:

se fallisce stamperà un messaggio perché non è riuscito

se riesce vedrai solo 0

Nella tua mente puoi aggiungere k 0 = 0k

Questa è una soluzione economica ma ti darà un buon ritorno dopo le tue chiamate di sistema.


2
&& echo $?sembra una cosa peculiare da fare; stamperà 0o niente affatto. Potresti anche dire && echo OKo && echo Success.
G-Man dice "Reinstate Monica" il

1
no, non è come l'eco ok. Fa eco al risultato effettivo dell'ultimo comando. Se è uno 0 ha avuto successo. In caso contrario, sarà un 1.
Mark Stewart il

1
Ma stai dicendo && echo $?! Se il (primo) comando fallisce, la shell non eseguirà il secondo comando (quello dopo il  &&), quindi non stampa nulla!
G-Man dice "Reinstate Monica" il

1
No quando fallisce, stampa il messaggio che systemctl invia quando il servizio non si avvia. Provalo tu stesso, funziona, l'ho usato. Ad esempio (devo usare le chiamate di servizio come RHEL esegue l'output in caso di errore o successo) Quando un servizio fallisce si ottiene un output di errore systemctl standard All'avvio del servizio si ottiene uno 0 Sarebbe un 1 eseguito la seconda istruzione (può verificare con; invece di &&) Il servizio funziona:
Mark Stewart il

2
Non ho detto che non ha funzionato. Ho detto che && echo $?funziona esattamente come && echo 0- il " $?" fa sembrare che stai facendo qualcosa di più sofisticato di te - e, fintanto che farai qualcosa di non sofisticato come && echo 0, potresti anche fare && echo OK, il che darà il risultato che la domanda richiede. ... ... ... ... ... ... ... ... ... ... ... ... ... ... È  echo 0esattamente lo stesso di echo OK? No certo che no; 0 è un carattere, che è una cifra, mentre OK sono due caratteri, che sono lettere (alfabetiche). Duh. ... (proseguendo)
G-Man dice "Reinstate Monica" il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.