如何找到软件名称与可执行文件不同的软件的 PID?

如何找到软件名称与可执行文件不同的软件的 PID?

我在 Ubuntu 的 Dash 中运行“视频”软件。几分钟后,软件冻结了。

我尝试搜索该软件的 PID 来终止它,但是使用以下命令没有找到任何结果:

pgrep Videos

ps -eo cmd,pid,stime

我不知道整个stime过程。

我必须重新启动计算机,登录后,我看到软件已通过totem命令执行。

如何找到软件名称与可执行文件名称不同的软件的 PID?

答案1

如果您从终端运行命令,那么该命令将始终作为进程显示在进程表中。

您的情况有所不同,因为您运行了桌面条目(在文件中声明.desktop),其名称和执行的命令可能完全不同。

这些.desktop文件使用 INI 格式来表达元数据。

以下是 的桌面条目htop

[Desktop Entry]
Version=1.0
Name=Htop
Type=Application
Comment=Show System Processes
Terminal=true
Exec=htop
Icon=htop
Categories=ConsoleOnly;System;
GenericName=Process Viewer

在您的情况下,NameisVideosExecline 将指示实际执行的命令。


您应该追踪该.desktop文件并检查条目以获取实际正在执行的命令。

因此让我们找到.desktop包含以下内容的文件Name=Videos

% grep -RH '^Name=Videos$' ~/.local/share/applications /usr/share/applications
/usr/share/applications/totem.desktop:Name=Videos

知道了 !!

它在 中声明/usr/share/applications/totem.desktop

现在让我们检查它实际运行了什么命令:

% cat /usr/share/applications/totem.desktop
[Desktop Entry]
Name=Videos
Comment=Play movies
Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc;
Exec=totem %U
Icon=totem
Terminal=false
Type=Application
.
.
<truncated>

如您所见,Exec关键字为totem %U.%U表示 URI 列表。


现在,如果你这样做:

pgrep totem

您将获得该实例的 PID totem

答案2

的默认视频播放器Ubuntutotem,因此如果您想找到PID视频播放器的 ,您应该找到该totem进程。您可以这样做:

ps aux | grep totem,然后你就可以杀死PIDtotem
然后你就可以得到信息了声音视频默认

相关内容