我一直在寻找一种方法来列出所有活动服务而不显示 PID,但到目前为止我还没有成功。我甚至尝试使用 sed 过滤掉 PID,但仍然没有成功。最终目标是只显示活动服务名称的一列。
所需输出的示例:
auditd
crond
iptables
网络
以下是我尝试过的一些命令(我不太熟悉 sed):
service --status-all | grep 'is running' | sort | sed -i \(.*\)
无需通过管道传输到 sed 的输出:
auditd (pid 2097) 正在运行...
crond (pid 2859) 正在运行...
iptables (pid 2548) 正在运行...
network (pid 2159) 正在运行...
似乎如果我可以排除 (pid xxxx) 那么就可以了,但我不确定如何使用 sed 来做到这一点。使用上述命令我没有得到任何输出。
chkconfig --list | grep on | sed 's/\|/ /'|awk '{print $1}' | sort
chkconfig 输出是我想要的,但它不一定显示积极的服务。
答案1
这对我有用:
service --status-all | grep 'is running' | cut -f 1 -d " "