正如您从下图(htop)中看到的,我有几个vlc
正在运行的进程,所有进程都只使用命令vlc
。但是,我只运行一个 vlc 实例。
其他情况又是怎样的呢?终止他们安全吗?我如何知道哪个进程附加到我当前的实例?
答案1
这些不是单独的过程,它们是线程。 VLC 有很多事情在幕后进行,每个事情都由一个单独的线程处理。
按下H可htop
隐藏线程,仅显示进程。
答案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