我无法理解这个问题
对于树中的每个进程,指示进程的名称、进程的 ID 号以及进程所有者的名称。
答案1
对于树中的每个进程,指示进程的名称、 以及进程所有者的名称。
您需要一种方法来获取此信息,可能基于 PID(“进程的 ID 号”),因为 PPID(父进程 ID)将引导您沿着树到达父进程。线索:当前bash进程的PID在$BASHPID
(或$$
)中。
绘制从 shell 开始一直到内核的进程和父进程树
线索#2:内核只启动一个进程,即 init 守护进程(传统上称为init
,但也可能称为其他名称)。该进程的 PID 为 1,其父进程为 0。其他进程都是 init 的后代,因此这就是您的树所指向的位置。
从技术上讲,我不认为你被要求做的是画一个树,你被要求画一个链,尽管从概念上讲,该链是穿过树的路径(想象一个文件小路,这是一系列/链目录,是较大目录树的一部分)。您通过该概念树的分支追溯到树的“根”(与真实的树相比,计算机科学中的树通常表示为颠倒的,基部/根位于顶部,分支向下分支) 。
root
/ \
/\ /\
/\/\ /\/\
答案2
这看起来像是一份工作pstree
:
pstree -npu
pstree
→ 以树形格式显示流程,(正确)从init
-n
→ 按 PID(进程 ID)排序,而不是按字母顺序排序-u
→ 显示所有者(注视它的用户)- (额外的:
-h
突出显示当前进程及其祖先)
更多选项的完整手册可以在这里找到 →http://www.linfo.org/pstree.html或本地在您信任的man
/页面中:info
man 1 pstree