如何更改service命令的详细程度?


13

我正在运行Kali 2 Linux。我使用systemctlor service命令启动诸如Apache之类的服务。在早期版本的Kali上,该命令在启动服务时实际上会显示“ OK”消息;但在此版本中,它只是退回到命令行,什么也没说。

有没有一种方法可以更改详细程度或使其行为像以前的版本一样?


通常,当没有消息表示成功时。
Svetlin Tonchev

Answers:


1

如今,该service命令(通常在上/usr/sbin/)通常只是一个bash调用该systemctl命令的shell脚本。您应该可以轻松地对其进行修改,以提供所需的输出。


0

journald是集中式守护程序,该守护程序从所有可用源中收集数据并将其存储为二进制格式,以便于动态地进行操作。作为您问题的答案,我会说通常是在没有输出时表示“确定”,并且如果您要确保使用它journalctl来检查日志。


我知道,但我喜欢ok消息已习惯的感觉,我需要它弹出
RL.AdmiralX 2015年

无论服务是否启动,都不会输出。我很想添加一个别名:service $ 1 start; service $ 1 status
Lenne

-1

您可以将an添加echo $?到命令以显示状态1或0。

&&具有的唯一运行的第二个命令,如果以前是成功的效果。

systemctl start mysqld.service && echo $? 

这将显示状态:

如果失败,它将打印一条消息,说明失败的原因

如果成功,您只会看到0

您可以在脑海中追加k 0 = 0k

这是一种廉价的解决方法,但是在您的systemctl调用之后,您会得到好的回报。


2
&& echo $?似乎是一件奇怪的事情;它将打印0或完全不打印。您不妨说一句&& echo OK&& echo Success
G-Man说

1
不,这不是回声确定。它回显最后一条命令的实际结果。如果为0,则表示成功。如果没有成功的话,将是一个1
马克·斯图尔特

1
但是你是在说&& echo $?!如果(第一个)命令失败,则外壳程序将不会运行第二个命令(&&)之后的命令  ,因此它将不会输出任何内容!
G-Man说“恢复莫妮卡”

1
否,当它失败时,它将打印服务未启动时systemctl发送的消息。自己动手尝试一下,就可以了,我已经用过了。例如(我必须使用服务调用,因为RHEL会在失败或成功时输出),当服务失败时,您将获得标准的systemctl失败输出。当服务启动时,您将获得0。将是1,则运行第二条语句(可以使用;而不是; &&)服务运行:
Mark Stewart

2
我不是说那没有用。我说,&& echo $?作品完全一样&& echo 0-在“ $?”使它看起来像你正在做一些更复杂的比你-而且,只要你会做,因为不成熟的东西&& echo 0,你还不如做&& echo OK,这将给出问题所要求的结果。……………………………………  echo 0完全一样echo OK吗?不,当然不; 0 是一个字符,它是一个数字,而是OK 两个字符,它们是(字母)字母。咄。…(续)
G-Man说“恢复莫妮卡”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.