PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請問Linux的程式自動結束,然後印出「Killed」,可能是什麼原因? (https://www.pcdvd.com.tw/showthread.php?t=729582)

booger 2007-07-03 11:09 AM

請問Linux的程式自動結束,然後印出「Killed」,可能是什麼原因?
 
我是用C語言,
以前不是segment fault就是core dump...
現在遇到的是程式會自動結束,
然後只印出「Killed」

而且當的時間還不一定,
用top去看,程式也沒有異常...

我除錯很久發現一點,
就是有用到 system()才會當,
即使是這樣 system("echo test...");
都會當掉


之前去查了資料,
也看不出所以然

程式有時候可能跑上百次才當,
有時候第一次就當了...


請問有人知道Linux的程式自動結束,
然後印出「Killed」,
可能是什麼原因嗎?

xpulsar 2007-07-03 10:29 PM

應該是程式收到 KILL signal 所以自動結束掉.

至於為什麼會收到 KILL signal ,
我猜是因為系統memory 不足,
所以Linux kernel會殺掉memory用最凶的程式.

解決方法,最好是改進程式memory使用量,
要不然就是加ram或是加大swap.

booger 2007-07-04 12:23 AM

引用:
作者xpulsar
應該是程式收到 KILL signal 所以自動結束掉.

至於為什麼會收到 KILL signal ,
我猜是因為系統memory 不足,
所以Linux kernel會殺掉memory用最凶的程式.

解決方法,最好是改進程式memory使用量,
要不然就是加ram或是加大swap.


感謝您的回應

我覺得有這個可能,
因為我發現資料"丟慢一點"就比較不會當了

不過記憶體只用了4%,
CPU則到60%~80%

請問是CPU 使用率過高嗎?

booger 2007-07-04 03:48 AM

我用 open() 和 write() 直接存取裝置檔,
用以取代 system(),目前不會當機了

可是,輸出到 /dev/tty 正常有文字,
丟到 /dev/audio 就沒有聲音了
(只有 都差都差都插 的雜音)


請問 au 檔案要怎麼丟給 /dev/audio才對?

我有找到一個範例,但是好像是PCM的錄放音範例...
http://www.minigui.org/cgi-bin/lb50...c=3270&postno=1


所有的時間均為GMT +8。 現在的時間是10:15 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。