[問題] 回收shared memory

看板LinuxDev作者 (CA)時間16年前 (2008/11/03 20:01), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
最近想用Shared Memory在Qt上實踐SingleApplication (沒有Qt Solution T_T) 現在遇到的難題是 在Linux上如果程式因故crash掉,shm就不能正常回收... 有方法可以避免嗎? -- 自High筆記(半荒廢) http://legnaleurc.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.194.91

11/03 22:34, , 1F
用 ipc 系列的指令吧, 可以用 ipcrm
11/03 22:34, 1F

11/03 22:52, , 2F
可是我無法分辨到底是不正常結束還是真的有人在用啊?
11/03 22:52, 2F

11/04 01:53, , 3F
signal handler 去處理 SIGSEGV,應該可以解決吧。
11/04 01:53, 3F

11/04 10:31, , 4F
你用 ipcs 看目前 shared memory 是否有人在使用
11/04 10:31, 4F

11/04 10:31, , 5F
一般來講, 你如果要 shared memory, 都會有一個 key
11/04 10:31, 5F

11/04 10:32, , 6F
程式不正常結束的話, 用這個 key 刪掉就可以了
11/04 10:32, 6F

11/05 19:27, , 7F
所以如果我不想透過shell回收,就要用signal handler?
11/05 19:27, 7F

11/05 19:27, , 8F
不過signal handler能做的事好像很少耶?
11/05 19:27, 8F
文章代碼(AID): #193kWPZ3 (LinuxDev)
文章代碼(AID): #193kWPZ3 (LinuxDev)