我刚接触docker,并且一直在阅读文档,我理解用户空间和内核空间的概念。因此,当我们运行上面的命令,即docker run ubutnu:14.04时,它会下载一个ubutnu镜像(它没有内核)并在容器中运行它,然后激发命令ps ax。我的问题是ps ax命令在哪里执行?它是在主机操作系统(这是一个linux内核,因为docker在linux上运行)上执行,还是在容器内执行,并显示在ubuntu用户空间中运行的所有进程?
查看proc手册页(http://man7.org/linux/man-pages/man5/proc.5.html),可以通过查看flags值(PF_KTHREAD)来检测哪些进程是/proc/<pid>/stat中的内核线程。flags %u (%lu before Linux 2.6.22)
(9) The kernel flags word of the process