我试图找到什么/在哪里调用我的bash脚本。到目前为止,我已经插入了"one_answers"系统状态"命令在我的bash脚本中。我看到了调用脚本的父进程,但它不能帮助我定位实际调用脚本的文件或代码行。
有人有建议吗?
假设您在Linux上,查看/proc/$PPID/cmdline
以查看该程序是如何被调用的。注意,文件使用一个空字节来分隔单词。
read -r -d '' parentProgram < /proc/$PPID/cmdline
echo "I was invoked by '$parentProgram'"
如果父程序的完整路径没有完整列出,请使用locate
来帮助您搜索。
您可以在cmdline文件中获取所有参数:
mapfile -t cmd < <(tr ' ' 'n' < /proc/$PPID/cmdline)
declare -p cmd