为什么我的一个 VLC 实例有许多进程?

为什么我的一个 VLC 实例有许多进程?

正如您从下图(htop)中看到的,我有几个vlc正在运行的进程,所有进程都只使用命令vlc。但是,我只运行一个 vlc 实例。

在此输入图像描述

其他情况又是怎样的呢?终止他们安全吗?我如何知道哪个进程附加到我当前的实例?

答案1

这些不是单独的过程,它们是线程。 VLC 有很多事情在幕后进行,每个事情都由一个单独的线程处理。

按下Hhtop隐藏线程,仅显示进程。

答案2

我的猜测是 VLC 正在生成子进程(例如,就像 Apache HTTP 服务器所做的那样)。如果是这种情况,并且您的版本ps支持它,您可以尝试运行ps -H以查看树形排列中列出的进程。用于-C vlc将输出限制为仅 vlc 进程。

$ ps -H -C apache2
  PID TTY          TIME CMD
 1374 ?        00:00:00 apache2
 1377 ?        00:00:00   apache2
 1378 ?        00:00:00   apache2
 1379 ?        00:00:00   apache2

或者,用于ps -f获取“完整”输出,包括父 PID (PPID)。同样,这清楚地表明哪个进程是父进程。

$ ps -f -C apache2
UID        PID  PPID  C STIME TTY          TIME CMD
root      1374     1  0 03:47 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  1377  1374  0 03:47 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  1378  1374  0 03:47 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  1379  1374  0 03:47 ?        00:00:00 /usr/sbin/apache2 -k start

相关内容