我安装了适用于 Linux 的 Google 桌面,并希望在不必删除所有文件的情况下阻止它运行。我设法在 中找到并禁用该文件/etc/cron.hourly
,但gdl_box
仍由进程 1 启动:
1 5199 5199 5199 ? -1 Ss 32074 0:01 /opt/google/desktop/bin/gdl_box
我已经gdl
在下面的每个文件中进行了搜索,/etc
并且没有发现任何嫌疑人。/etc/init.d
目录中或目录中似乎没有任何内容/etc/rc*.d
。我怎样才能找到并杀死这个邪恶的恶魔?更准确地说,我怎样才能找出导致它产生的原因并从一开始就阻止它产生?
我gdl_box
一遍又一遍地杀死了它,但是如果没有重新启动或 X 重新启动,系统中的某些东西就会不断地重新生成它。我想知道是什么并阻止它。
编辑
好的,最终我gdl_box
用一个运行的二进制文件替换了它,ps afwj
这样我就可以在它被init
. 想象一下当我发现它是从我的.profile
. 我仍然很想知道一个更好的方法来发现这一点,但我已经接受了指出init
(感谢托马斯)采用的答案,这至少阻止了我在错误的灯柱下寻找。
我假设您显示的 ps 输出中的第一列是父 pid (PPID)。如果是这样,它可能不是由 init 产生的(如果那是让你相信的原因),但在正常的 unix 守护进程样式中,它会双叉,导致它的父 pid 为 1。它是一个孤儿和 init 采用它。
你怎么能找到并杀死它?呃......它就在那里,你没有找到什么?
Google 桌面是从(至少在我的 RHEL5 系统上)启动的:
/etc/xdg/autostart/gdl_box.desktop
某些版本
ps
支持一个--forest
或f
标志来显示进程之间的关系树。如果您的版本没有,请检查pstree
,一个独立的包来做同样的事情。在这种情况下它可以提供帮助。跑了怎么办
或者可能有一个正在加载 gdl_box 的脚本,但该脚本本身实际上并不称为 gdl,这就是为什么 grep 没有打开任何东西的原因。