c-LD_PRELOAD哪个程序是目标程序



有没有办法确定LD_PRELOAD针对的是哪个程序?

LD_PRELOAD=/path/to/libstuff.so ./stuff <args>

就像在C/C++中构建libstuff库以及预加载它时一样,有没有办法确定目标程序是stuff

如果文件是stuff,那么这是一种安全的方法吗。

如果不建议使用

问的原因是我无法获得

HOME=$WORK_PATH start-stop-daemon --start --chuid servers --quiet --background --nicelevel -1 --pidfile $PIDFILE --make-pidfile --exec $WORK_PATH/program <args>

使用针对program而非start-stop-daemonLD_PRELOAD

我不知道是否允许这样偏离话题(抱歉),但如果有人能帮我,我的日子也会过得很愉快。

提前谢谢。

使用env程序运行它,该程序修改环境,然后调用exec:

start-stop-daemon --start --chuid servers --quiet --background --nicelevel -1 --pidfile $PIDFILE --make-pidfile 
   --exec env "LD_PRELOAD=/path/to/libstuff.so" "HOME=$WORK_PATH" "$WORK_PATH/program" <args>

相关内容

最新更新