是一个叫某处的脚本

在我的一台Linux服务器上,我有一个执行一些控制的脚本。 有没有find这个脚本被调用的方法? 这可以在另一个脚本,cobol程序,crontab,…打开他们每一个将需要很长的时间。

grep为它:

  • grep -lr yourscript / etc / opt / anotherlikleydir

  • 否则,搜索整个系统:grep -lr yourscript /

编辑:

  • 否则,在二进制文件也搜索:grep -lar yourscript /

  • 否则,脚本要么由登录用户执行,要么由脚本远程登录执行…如果是这种情况,请尝试peachykeen的方法并编辑脚本…以及为什么不将ps axf转储到日志。

如果您可以修改脚本,请在ps行中获取父pid,再次ps ,grep为父pid获取命令,然后登录到文件。

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

要做到这一点,而不修改脚本,你需要一个观察者脚本/程序检查访问脚本文件或每ps调用一次ps 。 但是,如果您有这种访问权限,只需修改脚本可能会更容易。

编辑:显然,获取父pid和命令的命令,没有反复调用ps ,看起来像这样:

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

( 从jweyrich的答案在这里 )