2015-12-05 54 views
0

我想運行一個ruby程序,它是來自.procmailrc的RoR項目的一部分。在命令行的所有.procmailrc文件作用線運行正常,但是當通過procmail的處理真正的電子郵件,我發現了以下錯誤:從procmail運行一個ruby-on-rails程序的奇怪

/bin/sh: line 1: 12625 File size limit exceeded(core dumped) /usr/bin/rails r test.rb 

test.rb僅僅是一個簡單的腳本,從STDIN副本到一個臨時文件。

我的.procmailrc文件是

:0: $HOME/alerts.lock 
* ^X-mailer: X-System Alert Info 
| cd /usr/local/src/Alert; /usr/bin/rails r ./test.rb 

任何人有任何想法,這是怎麼回事?

編輯:我應該注意到用一個perl程序代替/usr/bin/rails r ./test.rb在.procmailrc中執行相同的事情(如test.rb)的作品。

+0

http://serverfault.com/questions/429352/file-size-limit-exceeded-in-bash/429369#429369%3a提供了一些可能的提示。檢查覈心文件和/或跟蹤系統調用,至少應該幫助確定'rails'創建一個大文件的位置。 – tripleee

回答

0

看來,與其他所有「超出文件大小限制」的問題一樣,這確實是一個大文件。什麼扔我是

  1. 我運行一個64位的Fedora和認爲2G的文件大小限制並不適用於64位操作系統的,並
  2. 罪魁禍首文件的大小甚至不超過1G !

通過更改.procmailrc配方的操作行來運行同一個程序從另一個RoR項目運行並且工作,發現了這一點。長話短說,最後它變成了項目日誌/目錄中的development.log文件。正如我在上面2.中所說,該文件只有192M,但是一旦我清空它,.procmailrc配方就開始工作。