作者EdisonX (卡卡獸)
看板LinuxDev
標題[問題] sudo / not-sudo 程式切割
時間Tue Mar 15 20:34:25 2016
先為了爛標題道歉 , 我想不出好的標題 。
我在 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),
請問一般會如何處理 ?
若我提供的資訊太少,請不吝提出我該再提供哪些資訊,謝謝各位!
--
「自從我學了 C# , 人都變聰明 , 考試都考一百分」
「自從我學了 VB , 皮膚都變好 , 人也變漂亮了 」
「自從我學了 Java , 明顯變壯 , 個子也變高了 」
「自從我學了 C++ , 內分泌失調 , 頭都禿了... 」
< Kuso 星爺語錄 >
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.164.103
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1458045273.A.1A4.html
推 yvb: 不知 olib 是哪一套 library, 做什麼事需要檔掉 root 的意思? 03/16 01:48
→ yvb: 是否可考慮產生兩個 processes, 然後使用 IPC 之類相互溝通? 03/16 01:51
→ yvb: 另外, 也許試試 setresuid() 或 setfsuid() 之類是否可行? 03/16 01:54
→ EdisonX: @yvb olib:opencv,另您提的我會嚐試,ipc 希望會比syste 03/16 12:57
→ EdisonX: m, popen 還快, 謝謝。 03/16 12:57