[问题] sudo / not-sudo 程式切割

楼主: EdisonX (卡卡兽)   2016-03-15 20:34:25
先为了烂标题道歉 , 我想不出好的标题 。
我在 rpi 上写 code (c/c++) 生成执行档时 ,
发现使用到某些特定功能 / library (ex: uart 相关) 时,
生成之执行档必须加 sudo ./myout_exe ,不加 sudo 会报错 (runtime error) ;
而有些特定功能 / library (ex: olib 相关) 反而不能加 sudo ,
加了反而会报错 ;
这种情况导致我目前在开发时,同一个执行档里面不能同时引用了
uart 和 olib 相关之函式库,让我感到麻烦。
目前我的做法是,跟 uart 相关的包成一个 exe , 使用 command 方式呼叫 ,
和 olib 相关的也包成一个 exe , 使用 command 呼叫,
但目前也看到缺点了,使用 system 或 popen 浪费了太多时间 (约 100 ms),
请问一般会如何处理 ?
若我提供的资讯太少,请不吝提出我该再提供哪些资讯,谢谢各位!
作者: yvb   2016-03-16 01:48:00
不知 olib 是哪一套 library, 做什么事需要档掉 root 的意思?是否可考虑产生两个 processes, 然后使用 IPC 之类相互沟通?另外, 也许试试 setresuid() 或 setfsuid() 之类是否可行?
楼主: EdisonX (卡卡兽)   2016-03-16 12:57:00
@yvb olib:opencv,另您提的我会尝试,ipc 希望会比system, popen 还快, 谢谢。

Links booklink

Contact Us: admin [ a t ] ucptt.com