标签: process

如何找出程序做了什么

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

  • 其中一些我知道名字(firefox,java,scala,你说出来)。
  • 大多数其他人,我可以通过 找到man NAME并尝试找出他们在做什么。
  • 如果程序没有手册页,我会很生气。但是有apt-cache search NAME,我可以在那里找到它来自哪个包,希望能找到解释。示例:apt-cache search wpa_supplicant产量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 上运行的进程正在做什么? 我真的需要谷歌吗?

为什么没有关于这些过程的一些文档或者我在哪里可以找到它们?是否有一个有组织的位置可以搜索它们,还是我必须根据具体情况进行搜索?

我想我可以下载整个系统的源代码,并搜索源代码,但很少有附加信息供用户使用,而是供开发人员使用。

documentation process

5
推荐指数
1
解决办法
1952
查看次数

是否所有应用程序都以系统监视器上的正常优先级启动?

我注意到在我的系统监视器上,我的一个名为pulseaudio的进程具有非常高的优先级,而我所有其他正在运行的应用程序具有正常的优先级。我不记得曾经改变过它,所以它一定是它的默认优先级,对吧?有没有其他类似的应用程序?

pulseaudio process-priority process

5
推荐指数
1
解决办法
4517
查看次数

如何在后台运行询问密码的命令?

我想运行一个命令sudo apt-get update &。但是,在按 Enter 后,当我按 for 时jobs,它会显示这些命令的状态为已停止。我的猜测是,通过将进程推入后台,我没有为其提供询问密码的机会。有没有办法在后台运行需要密码的进程?

command-line process

5
推荐指数
2
解决办法
1万
查看次数

从进程的 PID 中查找进程的文件名?

我想弄清楚是什么程序不断杀死网络指示器

$ nm-applet
** Message: applet now removed from the notification area
** Message: PID 31340 (we are 28924) sent signal 15, shutting down...
Run Code Online (Sandbox Code Playgroud)

PID 每次都会改变。有没有办法使用该 PID 来查找停止它的进程的名称?

command-line process

5
推荐指数
1
解决办法
1742
查看次数

如何防止进程被杀死?

无论如何,有没有办法防止进程被杀死?我知道,nice但我不确定是否给诸如长时间运行的内存密集型rake任务之类的任务提供最高优先级会阻止它被杀死:

nice -n -20 rake xyz
Run Code Online (Sandbox Code Playgroud)

编辑:即使服务器资源不足,原始海报也很可能希望它具有高优先级,以至于其他进程首先被杀死。

process nice

5
推荐指数
1
解决办法
2万
查看次数

无法删除用户

我正在尝试卸载 logstash,但sudo apt-get remove logstash由于某个进程正在使用该用户而失败。如果我尝试手动删除logstash用户,则无法删除,因为即使我终止该进程,也会立即弹出一个新用户。例如,如果我使用logstash以下命令检查进程:

ps -fp $(pgrep -u logstash)
Run Code Online (Sandbox Code Playgroud)

我得到

UID        PID  PPID  C STIME TTY          TIME CMD
logstash 17376     1 99 10:04 ?        00:00:10 /usr/bin/java -Djava.io.tmpdir=/
Run Code Online (Sandbox Code Playgroud)

然后我尝试终止进程并删除用户:

sudo killall -KILL -u logstash
sudo userdel logstash
Run Code Online (Sandbox Code Playgroud)

但是现在logstash已经被另一个进程使用了​​:

userdel: user logstash is currently used by process 17794
Run Code Online (Sandbox Code Playgroud)

如何删除logstash用户?

users process services

5
推荐指数
1
解决办法
1万
查看次数

如何列出我的用户拥有的所有进程?

列出我的用户的所有进程名称。

我可以做到

ps aux | grep username
Run Code Online (Sandbox Code Playgroud)

但输出将是这样的:

maythux  18343  0.0  0.1 1070868 34504 ?       Sl   Jun03   0:07 empathy
maythux  21562  0.0  0.1 703716 32104 ?        Sl   Jun10   0:00 /usr/bin/python /usr/bin/blueman-applet
maythux  21574  0.0  0.0  53532  2408 ?        S    Jun10   0:00 /usr/bin/obex-data-server --no-daemon 
maythux  25197  0.0  1.0 2199840 258576 ?      Sl   May27   0:24 remmina
Run Code Online (Sandbox Code Playgroud)

但我只希望输出看起来像:

empathy
blueman-applet
obex-data-serve
remmina
Run Code Online (Sandbox Code Playgroud)

那么最简单的方法是什么?

process

5
推荐指数
1
解决办法
7046
查看次数

启动并行运行的进程

我正在尝试并行启动 16 个 python 脚本。

我试着做

for i in {0..15}
    do
    python my_script.py "$i"
    done 
Run Code Online (Sandbox Code Playgroud)

但是检查我的htop这仅在一个处理器上运行。我猜这个过程是按顺序执行的。

我当然可以打开一个新选项卡并在每个选项卡中运行一个进程,但这似乎是多余的。什么是正确的方法呢?

bash process

5
推荐指数
1
解决办法
1245
查看次数

什么是/usr/lib/tracker?

我跑了ps -aux,我看到了其中的 4 个

name      1696  0.0  0.3 337052 11892 tty2     SNl+ 06:46   0:00 /usr/lib/tracker
name      1698  0.3  0.4 502776 19272 tty2     SNl+ 06:46   0:24 /usr/lib/tracker
name      1704  0.0  0.3 302752 12000 tty2     SNl+ 06:46   0:00 /usr/lib/tracker
name      1705  0.0  1.5 1326320 61316 tty2    SNl+ 06:46   0:02 /usr/lib/tracker
Run Code Online (Sandbox Code Playgroud)

任何人都知道这是什么的任何信息?我在谷歌上搜索了路径,找到了 0 个匹配的结果。我也在这里搜索了相同的结果。

process ps

5
推荐指数
2
解决办法
6897
查看次数

为什么“top”显示某些进程的运行时间比系统的正常运行时间长?

我的系统出现问题,phantomjs在完成工作后仍然运行。为了调试这个问题,两天前我重新启动了系统:

屏幕截图显示了两天的正常运行时间

今天跑步的时候top看到了这个:

“顶部”的屏幕截图显示“时间”列中 130+ 的 phantomjs 进程

如果我理解正确,这两个phantomjs过程已经存在大约 5 天了。所以他们以某种方式在重启后幸存下来?

process top cpuinfo

5
推荐指数
2
解决办法
2747
查看次数