gpt4 book ai didi

c - 是否可以为执行的子进程更改 "/proc/self/exe"的值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:56 26 4
gpt4 key购买 nike

我正在尝试使用 exec 系统调用来启动另一个可执行文件,但该可执行文件正在 /proc/self/exe 上使用 readlink() 以确定其文件位置。我希望它认为它与父可执行文件具有相同的位置,但它决定了它的实际位置。我认为我可以通过使用 LD_PRELOAD 拦截 readlink() 调用来完成类似的事情,但是有没有更简单或更直接的方法来完成这个?我只在寻找可以在父可执行文件中实现的解决方案,修改子项不是一个选项。

最佳答案

创建指向可执行文件的链接:


$sudo ln /bin/ls ./ls
[sudo] password for plasser:

# check it:
$ls -l ls
-rwxr-xr-x 2 root root 110080 mrt 10 2016 ls

#call it:
$./ls -l /proc/self/exe
lrwxrwxrwx 1 plasser uri 0 mrt 3 18:36 /proc/self/exe -> /home/plasser/krant/ls
$

关于c - 是否可以为执行的子进程更改 "/proc/self/exe"的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49085907/

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