-
--delimiter
-
--list-name
--list-full
-
--inverse
-
--count
-
--full
-
-
-
--euid match by effective id
-
-
--session match session id
-
--newest --oldest
-
--terminal match by controlling terminal
-
--exact
-
---parent
-
namespace
一个进程实体对应一个task_struct结构体
PID:用于唯一标记一个进程
这句话在以前是完全无误的,但是现在还必须加上一个条件,那就是在一个命名空间内唯一标记一个进程。关于命令空间,下一个章节会有介绍
TGID:线程组ID
一个进程可能包含多个线程,组成一个线程组,线程组内所有的线程的TGID都等于组长的PID。
PGID:进程组ID。
多个进程可以组成一个进程组,一个进程组内所有进程的PGID都等于组长的PID。
SID:几个进程组可以组成一个会话组,会话组内所有的进程都有相同的SID。
上图是3级namespace,上级和下级之间是父子关系。关于namespace有两点十分关键:
各个namespace之间的是相互隔离的,也就是说PID可以重复。如上图各个namespace都有PID为1的进程。
在下级namespace中创建的进程,在上级namespace中是可见的。如上图在level2 namespace中创建了进程PID=1,该进程在level 1 namespace中被映射为PID=3的进程,在level0 namespace中被映射为PID=5的进程。