gpt4 book ai didi

unix - 获取脚本的调用者姓名

转载 作者:行者123 更新时间:2023-12-02 21:49:09 29 4
gpt4 key购买 nike

我有一个 unix 脚本。它已被其他一些脚本调用,但没有适当的参数。有什么办法可以查到来电者姓名吗? grep 没有帮助,因为脚本的名称在多个脚本之间传递并动态调用。我想获得最终调用我的脚本的脚本?无论如何?

最佳答案

不,对于 UNIX 进程来说,没有完全可靠的方式知道后验哪个进程生成了它。当您的脚本(其 sh 解释器)执行 execve() 时,其父级可能已终止或用另一个程序镜像替换自身。

也就是说,您的脚本可以保持冷静,并根据进程表和自身环境做出合理的猜测。

ps -o args= $PPID 目前应该可以移植地显示脚本父级的命令行。这通常会起作用。

如果 $PPID == 1,则您已成为孤儿,并且 init 是您的养 parent 。 ps -o uid-,gid=,pgid=,tty= $$ 将显示脚本的用户和组 ID、进程组 ID 和控制终端。这些通常是直接从父级继承而无需修改的,因此,通过一点挖掘,即使父级本身终止,也可以帮助找到生成您的组的 session 。

关于unix - 获取脚本的调用者姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004247/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com