查看 Ubuntu 18.04.4 LTS(Linux 4.15.0-1079-oem)系统监视器中的以下屏幕截图,您会在进程列表中看到“(p-portal)”:
我应该在它启动时询问 systemctl、ps 等,但我当时正忙于其他事情,于是在心里将其编入目录以便日后跟进。然而,我再也追不上了!我无法使用 DuckDuck、Bing 或 Google 搜索找到它。
我认为它可能与 Chrome 有关,当时我打开了 Chrome,但无论有没有 Chrome 都再也没有看到它。我最近安装了一些 Perl 模块(Moo、Text-Template-1.61、Parallel-ForkManager-2.02),但在那里的源文件中没有找到它。
它在其他时候不会出现在的输出中systemctl list-unit-files
(正如我所说,我没有检查它在系统监视器中可见的时间),也不会出现在的输出中,pstree
也不会出现ps
在如何列出所有正在运行的守护进程xlsclients
的答案的输出中。
如果有人遇到过这个过程“p-portal”并且知道它是什么/做什么,我将非常感激。
括号内的名称:
当systemd启动一个进程的时候,它首先fork一个进程,然后根据服务配置调整进程的参数,最后调用
execve()
执行实际的服务进程。在 fork 和 exec 之间的时间内,进程可能有一个括号中的名称(如
(sd-pam)
或(p-portal)
)。但请注意, “comm”名称(即,可以使用 PR_SET_NAME 设置的进程名称,即“top”显示的进程名称)有严格的大小限制,这意味着我们必须截断。
截断通信名称:
我们截断了字符串的开头,因为通常后缀更有趣(否则,systemd 的所有各种服务都会显示为“(systemd-)”——这不是特别有用)。我们将名称括在 () 中,以澄清这是最终将成为指定进程的进程,但目前还不是。
查看systemd 文档。
什么是 (sd-pam)
它实际上是 PID 1 的一个 fork 进程,由 systemd 手动设置,任何地方都没有“sd-pam”可执行文件。
什么是 (p-portal)
这可能
xdg-desktop-portal
是最终将成为xdg-desktop-portal的流程的结束,但目前它是(p-portal)。