Comment changer la verbosité de la commande de service?

13

J'utilise Kali 2 Linux. J'utilise la commande systemctlou servicepour démarrer un service tel qu'Apache. Sur la version précédente de Kali, la commande affiche en fait un message "OK" lors du démarrage d'un service; mais sur cette version, il revient simplement à la ligne de commande sans rien dire.

Existe-t-il un moyen de modifier la verbosité ou de la faire se comporter comme la version précédente?

RL.AdmiralX
la source
Eh bien généralement, quand il n'y a pas de message qui signifie succès.
Svetlin Tonchev

Réponses:

1

De nos jours, la servicecommande (généralement activée /usr/sbin/) n'est généralement qu'un bashscript shell qui appelle la systemctlcommande. Vous devriez pouvoir facilement le modifier pour donner la sortie que vous souhaitez.

fpmurphy
la source
0

journaldEst un démon centralisé qui collecte les données de toutes les sources disponibles et les stocke dans un format binaire pour une manipulation facile et dynamique. En réponse à votre question, je dirais que généralement quand il n'y a pas de sortie, cela signifie que c'est "OK", et si vous voulez être sûr, utilisez journalctlpour vérifier les journaux.

Svetlin Tonchev
la source
Je sais, mais j'aime le sentiment que le message ok est habitué, et j'en ai besoin pour apparaître
RL.AdmiralX
Que le service démarre ou non, il n'y a pas de sortie. Je suis tenté d'ajouter un alias: service $ 1 start; service $ 1 status
Lenne
-1

Vous pouvez ajouter un echo $?à la commande pour afficher un état de 1 ou 0.

Le &&a pour effet d'exécuter la deuxième commande uniquement si la précédente réussit.

systemctl start mysqld.service && echo $? 

Cela affichera un statut:

s'il échoue, il affichera un message expliquant pourquoi il a échoué

si elle réussit, vous ne verrez que 0

Vous pouvez dans votre esprit ajouter le k 0 = 0k

Ceci est une solution de contournement bon marché mais vous donnera un retour correct après vos appels systemctl.

Mark Stewart
la source
2
&& echo $?semble être une chose particulière à faire; il imprimera 0ou rien du tout. Autant dire && echo OKou && echo Success.
G-Man dit `` Réintègre Monica '' le
1
non ce n'est pas comme echo ok. Il fait écho au résultat réel de la dernière commande. Si c'est un 0, cela a réussi. En cas d'échec, ce sera un 1.
Mark Stewart
1
Mais tu dis && echo $?! Si la (première) commande échoue, le shell n'exécutera pas la deuxième commande (celle après la  &&), et donc il n'imprimera rien!
G-Man dit «Réintègre Monica» le
1
Non en cas d'échec, il affichera le message que systemctl envoie lorsque le service ne démarre pas. Essayez-le vous-même, cela fonctionne, je l'ai utilisé. Par exemple (je dois utiliser les appels de service car RHEL génère en cas d'échec ou de réussite) Lorsqu'un service échoue, vous obtenez une sortie d'échec systemctl standard Lorsque le service démarre, vous obtenez un 0 Serait un 1 la deuxième instruction a exécuté (peut tester avec; au lieu de &&) Service fonctionne:
Mark Stewart
2
Je n'ai pas dit que cela ne fonctionnait pas. J'ai dit que cela && echo $?fonctionne exactement de la même manière que && echo 0- le « $?» donne l'impression que vous faites quelque chose de plus sophistiqué que vous ne le faites - et, tant que vous allez faire quelque chose d'aussi peu sophistiqué que && echo 0vous le feriez aussi bien && echo OK, ce qui donnera le résultat que la question demande. ……………………………………… Est-ce  echo 0exactement la même chose que echo OK? Non bien sûr que non; 0 est un caractère, qui est un chiffre, tandis que OK deux caractères, qui sont des lettres (alphabétiques). Duh. … (Suite)
G-Man dit «Réintègre Monica» le