推 Sidney0503: 你在供三小? 08/09 20:20
→ Sidney0503: polling i/o? 08/09 20:20
→ gn00618777: read file 是我想到的方法,就是S大想到的polling io 08/09 20:23
→ gn00618777: 可我是在 android 系統內的底層,無法讀取file 08/09 20:24
推 Sidney0503: polling (void**)變數 08/09 20:28
推 hn12404988: socket programming? bind() accept() recv() 08/09 20:35
→ gn00618777: 請問S大,那這個程式的外部該如何指定到這個變數呢? 08/09 20:36
→ gn00618777: 假設我要從這個程式傳"adc"這個參數進來 08/09 20:38
推 Sidney0503: 你的外面是多外面? 用網路傳如何?
08/09 20:41
抱歉~"~
簡單就是說我一個 daemon 執行檔要去接參數,來使daemon做不同的行為
但我的daemon裡面有一個while迴圈,我一執行 daemon 他就會停在 cmdline
不能打指令,所以我的daemon 只能接受一次參數
※ 編輯: gn00618777 (61.220.69.181), 08/09/2016 20:45:25
推 prismwu: 吃中斷嗎 中斷去讀個參數再回去 08/09 20:52
→ Sidney0503: 這已經是系統等級的設計 command buffer? 08/09 20:52
推 steve1012: 開thread 用event loop 配callback 08/09 21:09
推 steve1012: 講一個最簡單的 開一個thread放你的loop 08/09 21:11
→ steve1012: 設一個flag book new_input 08/09 21:12
→ steve1012: 你外面有讀到東西就把flag改掉 這夠簡單了吧 08/09 21:12
推 Sidney0503: 我喜歡樓上這個方法 08/09 21:21
推 LPH66: 既然都說是 daemon 了就不要管參數, 先決定你要怎麼送東西 08/09 21:31
→ LPH66: 給這個 daemon 再來決定要怎麼讀 08/09 21:31
→ LPH66: 其實就是 Sidney 在問的「你的外面是多外面」 08/09 21:32
→ LPH66: 之所以不要管參數是因為參數只是啟動在用 08/09 21:32
→ TobyH4cker: 不就pipe嗎 08/09 21:33
→ LPH66: 而你這是 daemon 是會一直接受外面的要求來做事的 08/09 21:33
推 hn12404988: 不考慮socket嗎?很直覺得不就是用socket解決? 08/09 21:46
推 LiloHuang: 透過 flag 得記得加 memory barrier 避免 CPU 亂序執行 08/09 22:04
→ LiloHuang: 也可考慮註冊 SIGUSR1 之類的 signal,在 handler 改值 08/09 22:05
推 Bencrie: named pipe 也許簡單一點 XD 08/09 23:26
推 james732: 你需要的是ipc(inter process communication) 08/09 23:29
→ EdisonX: ide ? os ? 08/10 09:06
→ MOONRAKER: 樓上不專心。 08/10 09:46
→ Qoofate: linux IPC fifo ,但原po沒說平台阿 08/10 10:20
→ gn00618777: ...樓上好多想法,我現在先用另一隻程式寫入參數到 08/10 10:56
→ gn00618777: device node,最後再由主程式將資料讀出來... 08/10 10:56
→ gn00618777: 我的平台是 linux 08/10 10:56
→ gn00618777: 感謝各位給我意見,我會慢慢來try,東西先有出來再說 08/10 10:57
推 wtchen: 東西出來後可以上來分享嗎?我對這很有興趣 08/10 20:07
推 chiwa: android的話可以參考libsysutils的FrameworkListener 08/10 21:56
→ chiwa: 一個典型的Linux socket封裝 08/10 21:56
推 LiloHuang: 也可考慮 boost::interprocess::message_queue 08/11 01:08
推 Bencrie: 其實可以找 APUE 來看 08/11 16:45