【发布时间】:2014-11-21 19:34:00
【问题描述】:
我正在尝试使用以下代码 sn-p 在我的 Linux (Centos) 机器上输出所有正在运行的服务、相应的包和状态的列表:-
for i in $(service --status-all | grep -v "not running" | grep -E running\|stopped | awk '{print $1}'); do
packagename=$(rpm -qf /etc/init.d/$i)
servicestatus=$(service --status-all | grep $i | awk '{print $NF}');
echo $tdydate, $(ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'), $i, $packagename, $servicestatus >> "$HOME/MyLog/running_services.csv"
done
但是,当我运行脚本时,我在控制台上收到如下错误:-
error: file /etc/init.d/cupsd: No such file or directory
error: file /etc/init.d/hald: No such file or directory
error: file /etc/init.d/lvmetad: No such file or directory
error: file /etc/init.d/postmaster: No such file or directory
这可能是它试图在 init.d 目录中查找服务名称的时候。但是,并非所有服务都如此。 现在,我怎样才能抑制这个控制台输出?我不想在控制台上看到这个。有什么指点吗?
【问题讨论】: