是一个叫做某处的脚本

时间:2013-04-22 12:55:27

标签: linux bash crontab

在我的一个Linux服务器上,我有一个执行某些控件的脚本。 有没有办法找出这个脚本的调用位置?这可以是 另一个脚本,cobol程序,crontab,... 打开每一个都需要很长时间。

2 个答案:

答案 0 :(得分:1)

如果您可以修改脚本,请输入ps行以获取父pid,再次ps并使用grep获取父pid以获取命令,然后登录到文件。

一周左右回来,您应该拥有触发脚本的命令。如果它是嵌套的东西,你可能想要递归或类似。

要在不修改脚本的情况下执行此操作,您需要一个观察器脚本/程序来检查脚本文件的访问权限,或者经常调用ps。但是,如果您具有这种访问权限,则只需修改脚本即可。

编辑:显然,在不重复调用ps的情况下获取父pid和命令的命令如下所示:

ps -p $$ -o ppid=
cat /proc/<pid>/cmdline

from jweyrich's answer here

答案 1 :(得分:0)

Grep for it:

  • grep -lr yourscript / etc / opt / anotherlikleydir

  • 失败了,搜索整个系统:grep -lr yourscript /

编辑:

  • 失败了,也在二进制文件中搜索:grep -lar yourscript /

  • 失败,脚本由登录用户执行或脚本化远程登录...如果是这种情况,请尝试peachykeen的方法并编辑脚本......以及为什么不转储{{1也是一个日志。