在我的一台 Linux 服务器上,我有一个执行某些控制的脚本。 有没有办法找出调用此脚本的位置?这可以在 另一个脚本,cobol 程序,crontab,... 打开每一个都需要很长时间。
最佳答案
如果你可以修改脚本,在ps
行中获取父pid,再次ps
并grep父pid获取命令,然后记录归档。
大约一周后再回来,您应该拥有触发脚本的命令。如果它是嵌套的,您可能需要递归或类似的东西。
要在不修改脚本的情况下执行此操作,您需要一个观察器脚本/程序来检查对脚本文件的访问或不时调用 ps
。但是,如果您有这种访问权限,那么只修改脚本可能会更容易。
编辑:显然,无需重复调用 ps
即可获取父 pid 和命令的命令看起来像:
ps -p $$ -o ppid=
cat /proc/<pid>/cmdline
关于linux - 是在某处调用的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147631/