![]() |
||
Amateur Member
![]() 加入日期: Nov 2004 您的住址: 丁丁科技大學
文章: 45
|
請問Linux的程式自動結束,然後印出「Killed」,可能是什麼原因?
我是用C語言,
以前不是segment fault就是core dump... 現在遇到的是程式會自動結束, 然後只印出「Killed」 而且當的時間還不一定, 用top去看,程式也沒有異常... 我除錯很久發現一點, 就是有用到 system()才會當, 即使是這樣 system("echo test..."); 都會當掉 之前去查了資料, 也看不出所以然 程式有時候可能跑上百次才當, 有時候第一次就當了... 請問有人知道Linux的程式自動結束, 然後印出「Killed」, 可能是什麼原因嗎?
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒), 挑嘴不挑食(對飲食頗有想法但是有得吃就吃) |
|||||||
![]() |
![]() |
訪客
文章: n/a
|
應該是程式收到 KILL signal 所以自動結束掉.
至於為什麼會收到 KILL signal , 我猜是因為系統memory 不足, 所以Linux kernel會殺掉memory用最凶的程式. 解決方法,最好是改進程式memory使用量, 要不然就是加ram或是加大swap. |
||
![]() |
Amateur Member
![]() 加入日期: Nov 2004 您的住址: 丁丁科技大學
文章: 45
|
引用:
感謝您的回應 我覺得有這個可能, 因為我發現資料"丟慢一點"就比較不會當了 不過記憶體只用了4%, CPU則到60%~80% 請問是CPU 使用率過高嗎?
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒), 挑嘴不挑食(對飲食頗有想法但是有得吃就吃) |
|
![]() |
![]() |
Amateur Member
![]() 加入日期: Nov 2004 您的住址: 丁丁科技大學
文章: 45
|
我用 open() 和 write() 直接存取裝置檔,
用以取代 system(),目前不會當機了 可是,輸出到 /dev/tty 正常有文字, 丟到 /dev/audio 就沒有聲音了 (只有 都差都差都插 的雜音) 請問 au 檔案要怎麼丟給 /dev/audio才對? 我有找到一個範例,但是好像是PCM的錄放音範例... http://www.minigui.org/cgi-bin/lb50...c=3270&postno=1
__________________
動怒不動氣(對不滿的事情表達不悅,但是不讓其過份影響個人情緒), 挑嘴不挑食(對飲食頗有想法但是有得吃就吃) |
![]() |
![]() |