cod*_*ter 5 linux cgroups containers unshare
是否有命令可以检查容器服务是否在 Linux 系统上运行?有人建议,unshare
但我不确定这是否是最好的方法。
更新:重新阅读您的问题后,我意识到我的回答略有不同。您想知道服务是否正在运行,我最初回答过如何判断软件包是否已安装。要回答您的实际问题,这取决于您的初始化系统。
systemd - 基本命令是systemctl
,它将列出所有服务及其状态,因此您可以手动浏览它或通过grep
命令管道它,如下所示:systemctl | grep -e cgmanager -e cgproxy -e cgroupfs-mount
。或者,正如用户 muru 在评论中建议的那样,简单地systemctl status 'cg*'
.
sysVinit - 基本命令是service --status-all
,grep 命令是service --status-all 2>&1 | grep -e cgmanager -e cgproxy -e cgroupfs-mount
。请注意,在这种情况下,正在运行的服务用前缀符号表示[+]
。另请注意,要使 grep 正常工作,2>&1
必须对该命令进行重定向service
。
原答案:
也许最简单的事情就是尝试man cgroups
。如果出现文档页面,则表明您的主机已安装该软件包。然而,有些安装是“吝啬的”并且不安装man
页面。
您可以尝试cgm
看看是否会产生输出。大多数安装cgroups
都会包含该命令,但不一定。
您可以查找主机发行版的软件包列表。在 Debian 衍生品上,这将是dpkg -l |grep cgroup
,但有时系统会限制对root
或 的sudo
访问dpkg
。
还会有很多其他方式。