返回信息流用perf测程序的性能,但是程序需要访问动态库。因为perf必须要用sudo命令执行,所以每次用sudo执行程序时环境变量都被清除了,程序也就访问不到动态库了,perf有什么方法可以带入环境变量执行吗?(因为是实习生,所以没有修改/etc/.bash_profile文件的权限,这条路走不通,另外shell也不行)
这是一条镜像帖。来源:北邮人论坛 / cpp / #101055同步于 2021/8/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
Perf性能测试
yahcc
2021/8/9镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
配置文件在root目录下呢,也没权限改…晕死
【 在 nitroethane (nitroethane) 的大作中提到: 】
: sudo -i 临时切换到 root 身份去跑。或者修改 sudo 的配置允许传递指定的环境变量。不要轻易修改系统级配置
没懂你的意思。是给你的 sudo 配置了只能执行 perf 命令吗?这样的话好像的确没有办法,最方便的,跟你 mentor 说你需要临时的 sudo 权限,或者找台能给 root 权限的测试机呗
【 在 yahcc 的大作中提到: 】
:配置文件在root目录下呢,也没权限改…晕死
是我要测试的这个程序需要当前的环境变量,但是除了配置root下的/etc里面的配置文件好像没有办法了,mentor说perf里有一个env选项可以传环境变量进去,可我根本没找到这个东西…
【 在 nitroethane (nitroethane) 的大作中提到: 】
: 没懂你的意思。是给你的 sudo 配置了只能执行 perf 命令吗?这样的话好像的确没有办法,最方便的,跟你 mentor 说你需要临时的 sudo 权限,或者找台能给 root 权限的测试机呗
这是什么意思
【 在 Nroskill (Nroskill) 的大作中提到: 】
: 试试
: sudo LD_LIBRARY_PATH=/tmp/ ./your_bianry
我最近刚好也遇到了sudo需要保留环境变量的问题,经过对网上介绍的多种方法进行尝试之后,我找到了最有效、最普适的一个方法,就是给sudo加上一个别名:alias sudo='sudo env PATH=$PATH'为了使用方便,你可以把这一行放到你的.bashrc里
env AA=b BB=b ./a.out
a.out启动的时候,可以获取到AA、BB的环境变量。
不加env也可以,直接 AA=b BB=b ./a.out
【 在 yahcc 的大作中提到: 】
: 是我要测试的这个程序需要当前的环境变量,但是除了配置root下的/etc里面的配置文件好像没有办法了,mentor说perf里有一个env选项可以传环境变量进去,可我根本没找到这个东西…