[問題] 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