在某些情况下,可能在宿主机上存在“看得到却摸不到”的进程;有的时候容器太多,想知道进程具体是哪个容器运行的?我们来尝试下:
首先在容器中的test目录下运行sleep 10000
在宿主机ps能看到对应的进程
看对应的proc下的cwd,也确实和容器中的路径一样,在/test目录下,但是宿主机实际上并没有这个路径
大概率可以判断这个进程不是在宿主机上的,可以通过如下这个命令判断命令是否是在容器中执行的:
ps -e -o pid,cmd,comm,cgroup
可以看到pid为29656的cgroup是在docker里,且docker-xxxx,xxxx就是docker的id,也就是:
bf85501b3084601ba76b8cb303917134d58b5e7783c14c1636ff1c56a3d83c1f
或者cat对应的进程cgroup也可以:
cat /proc/xxxx/cgroup
和我们执行的sleep命令的容器一致:
因此可以得出结论,pid为29656的进程是在
bf85501b3084601ba76b8cb303917134d58b5e7783c14c1636ff1c56a3d83c1f容器里执行的。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有