问题标签 [pstree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
440 浏览

linux - 什么是池线程

当我pstree -p pid在 Linux 上运行时,它会显示一个进程的线程树。

许多进程包含称为“池”的线程。他们中的一些人的生命周期很短。他们看起来像:

那些“池”线程是什么?他们负责什么样的工作?


用谷歌搜索它是相当困难的。所有结果都与线程池有关。它们与线程池有关系吗?

0 投票
3 回答
1310 浏览

linux - 使用shell脚本从pstree获取指定进程名的pid

我正在使用 pstree 来获取一组进程,结果会像

进程A(123)---进程B(124)---进程C(125)---进程目标(126)---进程D(127)

我想使用关键字“processTarget”来获取 pid,即 126。

我之所以选择 pstree,是因为我会发送 SIGTSTP 信号和 SIGCONT 到这组进程。

我怎么能那样做?有没有容易做到的?

注意:processTarget(126) 不在固定位置,因此我无法使用 awk 获取 PID。

0 投票
1 回答
1966 浏览

process - 在 Grid Engine / Sun Grid Engine / Grid Engine 上使用 Docker

有没有人有在 Grid Engine / Sun Grid Engine / Son of Grid Engine 上运行 Docker 并能够监控守护程序使用的资源的经验?问题是当 I 时qsub docker run ...,容器中的实际进程是由docker守护进程而不是docker客户端运行的,这意味着进程树是不同的。

SGE 有什么方法可以跟踪不同树中进程的资源(我认为不会)?

另一种选择是qsub脚本首先启动 docker 守护程序,然后运行所需的docker run命令,以便所有进程都位于 SGE 启动的同一进程树中。这将要求 sge 具有启动守护程序的权限(root 访问权限),并且还可能导致主机上运行多个 docker 守护程序。

替代进程树的另一个问题是提交的作业是否指定了守护进程 ( -d)。在这种情况下,docker 客户端将完成,但 docker 守护进程可能仍在运行容器

0 投票
1 回答
223 浏览

bash - bash:转储父调用树

我正在寻找一个递归Makefile,我想看到完整的调用树,它让我到达了我所在的位置(包括所有参数等)。我不关心系统上的其他进程。

我正在寻找的本质上是pstree -ha,它只输出突出显示的部分(加上当前进程)。请注意,pstree -ha <PID>这不起作用,因为由于某种原因它没有显示父母的父母(它不会一直到 init)。我找到了另一个 SO answer ps -f -g$BINOSPID,但它显示了我不想要的兄弟姐妹。

拼出我正在寻找的内容:我想要的是:

另外,作为一个附带问题,pstree -ha如果参数列表太长,它会自动截断参数列表。有没有办法避免这种情况?

0 投票
0 回答
202 浏览

c - 在最后一个孩子中显示进程树

我想创建一个进程树,就像图片上的那样。该Z过程应在作为程序参数给出的几秒钟后显示整个树,我需要处理树的正确销毁。另外,我不能使用sleep()命令。程序输出应如下所示:

在到达最后一个孩子并发出警报后,它不会显示进程树并开始创建一些新进程而不是杀死它们。这是我的代码:

我要创建的进程树

0 投票
0 回答
60 浏览

init - 如何摆脱我的 Linux 机器上发生的分布式拒绝服务或挖矿

一些奇怪的处理正在运行并耗尽所有资源。我已经杀了它很多次,但它仍然出现并重新开始。非常感谢您的帮助!

这是 pstree 输出供参考:

yMPzpi:这是一个即使在杀死它之后也会以不同的名称重新开始的一个。

这里 strace 输出供参考:

0 投票
2 回答
366 浏览

c++ - 使用 execlp() 打印 pstree

我需要从代码中打印进程树的帮助。感谢 stackoverflow 社区,我编写了一个程序,它使用 fork() 函数创建了几个进程,现在我需要使用 execlp() 函数在屏幕上打印一个进程树。

当我运行程序和终端类型的另一个实例时

我得到从 mainPID 开始打印的树。我需要从代码中打印那棵树,但是当输入代码时

我从所有系统中获取打印树

什么都不打印。

0 投票
1 回答
1013 浏览

linux - kthreadd 是否包含在 linux 进程中?

我的任务是实现一个简单版本的pstree(linux 命令),而我对pstree显示的内容和我在/proc/[pid]目录下找到的内容之间的内容感到困惑。在我输入之后pstree,它显示整个进程树的根是systemd,就像这样:

在我尝试读取所有/proc/[pid]/stat文件之后,我得到了以下结果(做一些格式化):

似乎还有另一个过程kthreaddsystemd. 这与pstree命令中显示的不同。

在阅读了一些手册和网络资料后,我知道它pstree显示了所有 runnnig 进程,并且kthreadd是所有相关线程的根线程。但是我仍然很困惑,kthreadd这不算是pstree命令运行的进程。所以kthreadd即使它拥有一个pid(即2)也不是一个进程?我应该kthreadd在我的版本中包含一个正在运行的进程pstree吗?

0 投票
1 回答
369 浏览

c++ - C++ fork() - 如何使用 fork 和 pstree 显示进程树?

首先,我是 Linux 和进程的新手,所以我无法准确理解 fork() 的逻辑。我想从用户输入创建一个进程树并使用“pstree”显示这个树。但是,我的代码不止一次显示树。我认为原因是 fork() 复制了“pstree”命令,我无法解决这个问题。代码是这样的:

当我使用输入 4 尝试此代码时,输​​出如下所示:

输出

我不明白为什么它一次又一次地显示所有内容。有没有办法一次显示树?如果能帮助我,我会很高兴的。

0 投票
0 回答
65 浏览

python - pstree 显示了一些 Gunicorn 工人产生了 25 个其他子 gunicorn 进程

我们的应用程序正在使用 supervisord 来运行 gunicorn 工作者。我们不在线程模式下运行 gunicorn,而是运行 8 个工作人员。下面是主管和 gunicorn conf 文件。独角兽:

导师

问题是当我运行 pstree 时,它​​显示一些工人产生了 25 个其他我无法理解的 gunicorns 进程。这是因为孤儿工吗?有人可以帮助我了解这里发生了什么。在下面粘贴pstree -a 输出

这里的25*[{gunicorn}]暗示是什么?是由于每个孩子的最大请求数还是这些是孤儿工人?