如何找出程序的作用

如何找出程序的作用

当我调用时ps ax,我得到了一个正在运行的进程列表。

  • 我知道其中一些的名字(firefox、java、scala,等等)。
  • 我可以使用 找到大多数其他内容man NAME,并尝试找出他们在做什么。
  • 如果程序没有手册页,我会很恼火。但是有apt-cache search NAME,我可以在那里找到它来自哪个包,希望找到解释。例如:apt-cache search wpa_supplicantyields wpagui - graphical user interface for wpa_supplicant
  • 如果 apt-cache 没有显示任何内容,仍然有一丝希望,那就是file $(locate NAME)找到一个脚本或其他包含更多信息的东西。
  • 但是,rkit-daemon我没有发现任何有用的东西。
  • 因为file $(locate gvfs-gphoto2-volume-monitor)我只找到一个二进制可执行文件,但没有找到任何信息。

我可能会尝试解读gnome-virtual-file-sytem ...并猜测,如果连接到 PC,它可能是一种检测照片 SD 卡等的工具,但有没有更好的方法来找出 PC 上运行的进程在做什么?我真的需要谷歌搜索吗?

为什么没有关于这些流程的文档,或者我在哪里可以找到它们?是否有一个有组织的位置可以搜索它们,还是我必须逐个搜索它们?

我想我可以下载整个系统的源代码并搜索源代码,但是对于用户来说很少有额外的信息,但对于开发人员来说却很少。

答案1

我使用的程序是:
sudo apt-get install htop apt-file
sudo apt-file update
htop
f2设置
使用箭头键Down ArrowRight Arrow、导航Space以切换树形视图,Esc返回菜单(因为您无法F10轻松发送到 gnome 终端)。您也可以使用鼠标执行此操作。

现在,您可以获得更多关于每个进程如何启动以及它可能加载的其他文件的详细信息。例如 oneconf-service。

man oneconf-service并且man oneconf不产生任何结果。 apt-cache search oneconf-service不产生任何结果。

apt-file search oneconf-service产量oneconf: /usr/share/oneconf/oneconf-service
apt-cache search oneconf产量oneconf - synchronize your configuration data over the network

回到你提出的具体问题:
apt-file search gvfs-gphoto2-volume-monitor将获得:

gvfs-backends: /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
gvfs-dbg: /usr/lib/debug/usr/lib/gvfs/gvfs-gphoto2-volume-monitor

apt-cache search gvfs-backends得出:
gvfs-backends - userspace virtual filesystem - backends

apt-file search 'rtkit-daemon'产量:

rtkit: /lib/systemd/system/rtkit-daemon.service
rtkit: /usr/lib/rtkit/rtkit-daemon

apt-cache search rtkit产量:
rtkit - Realtime Policy and Watchdog Daemon

编辑以解决评论:我推荐 htop,因为您可以看到其他已加载的模块,而不仅仅是进程名称。如果某些东西以奇怪的方式启动,ps/进程名称的输出可能不会向您显示非常有用的东西。

Apt-file 可以找到与软件包名称不同且不在软件包描述中的内容。它允许您跟踪软件包安装的任何文件并追溯到软件包。

userspace用户可以控制它,虽然它virtual filesystem不完全是一个文件系统,但它的行为就像- backends您看不到的部分。如果您检查 htop,它会通过 dbus 进行通信(它会显示在已加载的模块中)。这让我想到它允许用户通过 dbus 操作文件系统/挂载/设备(一种授予超级用户权限的常用方法,无需 sudo 并使用 package-kit)。因此,当您结合 htop 输出、了解 dbus 的常见用途和描述时,它会变得更加清晰。

Watchdog一个进程,它监控另一个进程,以确保它不会失控,daemon以服务形式运行。因此,它是一个监控其他进程以确保调度不会失控的进程。

相关内容