linux - 是在某处调用的脚本

标签 linux bash crontab

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

最佳答案

如果你可以修改脚本,在ps行中获取父pid,再次ps并grep父pid获取命令,然后记录归档。

大约一周后再回来,您应该拥有触发脚本的命令。如果它是嵌套的,您可能需要递归或类似的东西。

要在不修改脚本的情况下执行此操作,您需要一个观察器脚本/程序来检查对脚本文件的访问或不时调用 ps。但是,如果您有这种访问权限,那么只修改脚本可能会更容易。

编辑:显然,无需重复调用 ps 即可获取父 pid 和命令的命令看起来像:

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

( from jweyrich's answer here )

关于linux - 是在某处调用的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147631/

相关文章:

c - C的UUID库?

python - 如何使用升级的 python 在 ec2 centos 机器上获取 mysql

linux - 如何检查 Linux 机器 (Ubuntu) 中的 DB2 安装

linux - 如何使用不同的 .bashrc

linux - 使用 awk 使用通过函数传递的参数删除多行

linux - Apache2:尝试启动时出现 "Address already in use"('httpd.pid' 问题?)

bash - Tar 提取后文件夹重命名

cron - 全天以不同频率运行 Cron Job

node.js - 永远的RasPi + Node.js:重新启动后听不到mp3声音

c# - 使用 crontab 或守护进程运行 C# .exe?