AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 678789
Accepted
ReynierPM
ReynierPM
Asked: 2015-03-28 08:27:40 +0800 CST2015-03-28 08:27:40 +0800 CST 2015-03-28 08:27:40 +0800 CST

确定后台进程的启动位置和方式以及它们来自何处

  • 772

首先是简短的故事:我需要迁移服务器(应用程序、配置等),但我不知道里面有什么,没有文档,负责人只是放弃并且没有留下任何信息,所以这是一种黑匣子或黑洞。我的任务是将服务器中的内容移至新实例并了解其中的工作方式。问题是有一些后台进程正在运行(参见下面的 ps -ax 输出):

ps -ax

Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
  PID TTY      STAT   TIME COMMAND
  ...
  841 ?        Ss    13:42 python /usr/local/bin/pdoInstaller/
  848 ?        Ss     0:04 php /usr/local/bin/pdoneVendorBroker/vendorBroker.php
  950 ?        Ssl   13:00 /usr/bin/mongod --config /etc/mongodb.conf
  013 ?        S      0:00 CRON
 1014 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 1015 ?        Ssl    1:02 /usr/sbin/mysqld
 1016 ?        S      0:02 /usr/bin/php rss_article_loader.php
 1065 ?        Ssl    0:29 /usr/sbin/nova-agent -q -p /var/run/nova-agent.pid -o /var/log/nova-agent.log -l info /usr/share/nova-agent/nova-agent.py
 1219 ?        S      0:01 /usr/lib/erlang/erts-5.10.3/bin/epmd -daemon
 1222 ?        S      0:00 CRON
 1223 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 1224 ?        S      0:01 /usr/bin/php rss_article_loader.php
 1506 ?        S      0:00 /bin/sh /usr/sbin/rabbitmq-server
 1517 ?        Sl    15:59 /usr/lib/erlang/erts-5.10.3/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -noshell -noinput -sname rabbit@pdone-db-qa -boot /v
 1728 ?        S      0:00 CRON
 1729 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 1730 ?        S      0:00 /usr/bin/php rss_article_loader.php
 3137 ?        Ss     0:04 php /usr/local/bin/shareEventHandler/shareEventHandler.php
 3165 ?        Ss     0:04 php /usr/local/bin/repToolBroker/repToolBroker.php
 3180 ?        Ss     0:04 php /usr/local/bin/pdoneLoginProctor/loginProctor.php
 3201 ?        Ss     0:04 php /usr/local/bin/messageBroker/messageBroker.php
 3230 ?        Ss     0:04 php /usr/local/bin/emailBroker/emailBroker.php
 3250 ?        Ss     0:04 php /usr/local/bin/edetailBroker/edetailBroker.php
 3270 ?        Ss     0:04 php /usr/local/bin/cmeBroker/cmeBroker.php
 3921 ?        S      0:00 CRON
 3922 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 3923 ?        S      0:03 /usr/bin/php rss_article_loader.php
 4395 ?        S      0:00 CRON
 4396 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 4397 ?        S      0:02 /usr/bin/php rss_article_loader.php
 4498 ?        S      0:00 CRON
 4499 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 4500 ?        S      0:01 /usr/bin/php rss_article_loader.php
 5781 ?        S      0:00 CRON
 5782 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 5783 ?        S      0:04 /usr/bin/php rss_article_loader.php
 7242 ?        S      0:00 CRON
 7243 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 7244 ?        S      0:03 /usr/bin/php rss_article_loader.php
 7575 ?        S      0:00 CRON
 7576 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 7577 ?        S      0:02 /usr/bin/php rss_article_loader.php
 7705 ?        S      0:00 CRON
 7706 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 7707 ?        S      0:01 /usr/bin/php rss_article_loader.php
 9368 ?        S      0:00 CRON
 9369 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
 9370 ?        S      0:04 /usr/bin/php rss_article_loader.php
10450 ?        S      0:00 CRON
10451 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
10452 ?        S      0:03 /usr/bin/php rss_article_loader.php
10771 ?        S      0:00 CRON
10772 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
10773 ?        S      0:02 /usr/bin/php rss_article_loader.php
10884 ?        S      0:00 CRON
10885 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
10886 ?        S      0:01 /usr/bin/php rss_article_loader.php
12947 ?        S      0:00 CRON
12949 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
12951 ?        S      0:04 /usr/bin/php rss_article_loader.php
13573 ?        S      0:00 CRON
13574 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
13575 ?        S      0:03 /usr/bin/php rss_article_loader.php
13963 ?        S      0:00 CRON
13964 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
13965 ?        S      0:01 /usr/bin/php rss_article_loader.php
14157 ?        S      0:00 CRON
14158 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
14159 ?        S      0:00 /usr/bin/php rss_article_loader.php
16083 ?        S      0:00 CRON
16084 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
16085 ?        S      0:04 /usr/bin/php rss_article_loader.php
17089 ?        S      0:00 CRON
17090 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
17091 ?        S      0:03 /usr/bin/php rss_article_loader.php
17103 ?        S      0:00 CRON
17104 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
17105 ?        S      0:01 /usr/bin/php rss_article_loader.php
17553 ?        S      0:00 CRON
17554 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
17555 ?        S      0:00 /usr/bin/php rss_article_loader.php
19227 ?        S      0:00 CRON
19228 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
19229 ?        S      0:04 /usr/bin/php rss_article_loader.php
20318 ?        S      0:00 CRON
20319 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
20320 ?        S      0:01 /usr/bin/php rss_article_loader.php
20375 ?        S      0:00 CRON
20376 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
20377 ?        S      0:02 /usr/bin/php rss_article_loader.php
20722 ?        S      0:00 CRON
20723 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
20724 ?        S      0:00 /usr/bin/php rss_article_loader.php
22324 ?        S      0:00 CRON
22325 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
22326 ?        S      0:03 /usr/bin/php rss_article_loader.php
23549 ?        S      0:00 CRON
23550 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
23551 ?        S      0:01 /usr/bin/php rss_article_loader.php
23643 ?        S      0:00 CRON
23644 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
23645 ?        S      0:02 /usr/bin/php rss_article_loader.php
23945 ?        S      0:00 CRON
23946 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
23947 ?        S      0:00 /usr/bin/php rss_article_loader.php
25875 ?        S      0:00 CRON
25876 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
25877 ?        S      0:03 /usr/bin/php rss_article_loader.php
26840 ?        S      0:00 CRON
26841 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
26842 ?        S      0:02 /usr/bin/php rss_article_loader.php
27223 ?        S      0:00 CRON
27225 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
27227 ?        S      0:01 /usr/bin/php rss_article_loader.php
27538 ?        S      0:00 CRON
27539 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
27540 ?        S      0:00 /usr/bin/php rss_article_loader.php
29374 ?        S      0:00 CRON
29375 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
29376 ?        S      0:03 /usr/bin/php rss_article_loader.php
30232 ?        S      0:00 CRON
30233 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
30234 ?        S      0:02 /usr/bin/php rss_article_loader.php
30444 ?        S      0:00 CRON
30445 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
30446 ?        S      0:01 /usr/bin/php rss_article_loader.php
30682 ?        S      0:00 /usr/sbin/apache2 -k start
30683 ?        S      0:00 /usr/sbin/apache2 -k start
30848 ?        S      0:00 CRON
30849 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
30850 ?        S      0:00 /usr/bin/php rss_article_loader.php
32692 ?        S      0:00 CRON
32693 ?        Ss     0:00 /bin/sh -c cd /var/www/pdone/ipad_v2/rpc; /usr/bin/php rss_article_loader.php
32694 ?        S      0:03 /usr/bin/php rss_article_loader.php

有些是通过 CRON 运行的,我已经确定了那些简单的路径,但其他一些像由 PHP 开始的那些,例如:

 3137 ?        Ss     0:04 php /usr/local/bin/shareEventHandler/shareEventHandler.php
 3165 ?        Ss     0:04 php /usr/local/bin/repToolBroker/repToolBroker.php
 3180 ?        Ss     0:04 php /usr/local/bin/pdoneLoginProctor/loginProctor.php

我不知道它是从哪里来的,我需要知道它们是从哪里开始以及如何开始的,以便在新服务器上设置相同的东西,有没有人可以提供一些关于如何解决这个问题的想法?目前我唯一知道的是 RabbitMQ 使用该脚本来传递消息并执行一些任务。我需要确定后台进程的启动位置和方式以及它们的来源。原始服务器是 Ubuntu 新的服务器是 CentOS 不是问题,但仅供参考,任何人都可以给我一些帮助或想法吗?

更新

我cmeBroker.conf在目录中找到了一个文件,/usr/local/bin/cmeBroker以此类推,这是该文件的内容:

description "PDone cmeBroker"

start on runlevel [234]
stop on runlevel [0156]

respawn
exec php /usr/local/bin/cmeBroker/cmeBroker.php
post-start script
    PID=`status cmeBroker | egrep -oi '([0-9]+)$' | head -n1`
    echo $PID > /var/run/cmeBroker.pid
end script

post-stop script
    rm -f /var/run/cmeBroker.pid
end script

所以现在这是一个线索,但谁负责启动或读取这个文件?

更新 2

正如@ivan所建议的,我已安装auditd在 Ubuntu 服务器上,并运行了以下命令:

auditctl -w /usr/local/bin/repToolBroker/repToolBroker.php -p rwxa

我应该重新启动服务器还是只是等待并找到使用:

ausearch -f /usr/local/bin/repToolBroker/repToolBroker.php

谁访问或更改了文件?这可以告诉我谁负责启动这些文件并在后台执行它们?

更新 3

使用@julian-sivertsen建议在文件系统中搜索与文件名匹配的文本字符串,多亏了我从这里得到的另一个帮助,我运行了这个命令:

sudo grep -r 'shareEventHandler.php\|repToolBroker.php\|loginProctor.php\|messageBroker.php\|emailBroker.php\|edetailBroker.php\|cmeBroker.php' .

这使我可以找到调用文件的位置。这是上面命令的输出:

./init/emailBroker.conf:exec php /usr/local/bin/emailBroker/emailBroker.php
./init/cmeBroker.conf:exec php /usr/local/bin/cmeBroker/cmeBroker.php
./init/pdoneLoginProctor.conf:exec php /usr/local/bin/pdoneLoginProctor/loginProctor.php
./init/edetailBroker.conf:exec php /usr/local/bin/edetailBroker/edetailBroker.php
./init/messageBroker.conf:exec php /usr/local/bin/messageBroker/messageBroker.php
grep: ./init/veevaBroker.conf: No such file or directory
./init/shareEventHandler.conf:exec php /usr/local/bin/shareEventHandler/shareEventHandler.php
./init/repToolBroker.conf:exec php /usr/local/bin/repToolBroker/repToolBroker.php

该.conf文件是我之前找到的文件的符号链接,这就是所有发生的地方。现在我还有一个问题,init文件夹是做什么用的?这是我第一次处理这个问题,我很想知道和学习。

任何?

linux
  • 2 2 个回答
  • 159 Views

2 个回答

  • Voted
  1. Best Answer
    Julian Sivertsen
    2015-03-28T11:50:18+08:002015-03-28T11:50:18+08:00

    首先使用命令调查父/子进程之间的关系,例如ps -AF --forest. 父进程 ID (PPID) 要么是产生相关进程的进程,要么是 1(如果它分叉或成为孤立进程)。--forest切换到 PS 会显示这种关系的图形表示。

    守护进程通常从 /etc/rc5.d/ 中的脚本开始,请尝试查看那里。还要查看 cron 任务的文件。这些位置和设置因 Linux 发行版而异,有关详细信息,请参阅发行版文档。对于新贵的 init 系统,可以使用该service --status-all命令列出所有守护进程。

    如果这些为空,您可以尝试在文件系统中搜索与用于启动进程的命令匹配的文本字符串。例如grep "rss_article_loader\\.php" -r /usr /etc,将显示 /usr 和 /etc 中包含字符串“rss_article_loader.php”的所有文件。请注意,grep 使用正则表达式而不是简单的文本字符串进行搜索。

    • 3
  2. ivan_pozdeev
    2015-03-28T13:49:57+08:002015-03-28T13:49:57+08:00

    我很幸运地用 Linux 审计子系统找出了罪魁祸首。

    Linux 审计文件以查看谁对文件进行了更改

    linux - 监控系统调用

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve