我经常接触各种 GNU/Linux 系统,包括 CentOS、SLES 和 Debian。
我想知道:检查这些系统上所有正在运行的服务的推荐方法是什么?
我知道service --status-all
,chkconfig
但它们并不总是可用。
请指教。
答案1
我想知道:检查这些系统上所有正在运行的服务的推荐方法是什么?
既然您知道chkconfig
,,service
并且可能是ntsysv
,,rcconf
但你可以使用下面的命令进行检查,它几乎适用于所有风格
ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S*
什么是S*?
传统的 init 样式创建以 S 或 K 开头的符号链接。那些带有 S 的意思是“开始”,并且在输入该运行级别时使用“start”参数运行。带 K 的意思是“kill”,当输入该运行级别时,这些服务将使用“stop”参数运行
完整详细信息:
ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S* | \
awk -F'[0-9][0-9]' '{print "Startup :-> " $2}'
输出:
Startup :-> bind9
Startup :-> apt-cacher-ng
Startup :-> slapd
Startup :-> cron
Startup :-> dmesg
Startup :-> inetutils-inetd
Startup :-> ssh
Startup :-> dns-clean
Startup :-> sudo
Startup :-> apache2
Startup :-> grub-common
Startup :-> ondemand
Startup :-> rc.local
答案2
有点不太优雅,但您始终可以将正在运行的内容与或ps aux
中列出的内容进行比较/etc/init.d/
/etc/rc.d/
答案3
尝试使用 svc。 svcs 应列出所有离线、在线或维护模式的服务。