我做了一個需要執行某種C++程序(程序已編譯)的網站。但我想限制該程序所需的資源。我想限制的資源是運行時間和已用內存。 我認爲運行時間可以用command to execute & sleep time; kill $!
完成但是如果進程在休眠時間之前完成,那麼該命令會導致一些延遲。Linux bash inline命令執行程序並限制資源
我不知道如何限制運行時間(沒有延遲)和使用內存與內聯命令。 有什麼建議嗎?
THX之前... 我真的很感謝你的幫助..
我做了一個需要執行某種C++程序(程序已編譯)的網站。但我想限制該程序所需的資源。我想限制的資源是運行時間和已用內存。 我認爲運行時間可以用command to execute & sleep time; kill $!
完成但是如果進程在休眠時間之前完成,那麼該命令會導致一些延遲。Linux bash inline命令執行程序並限制資源
我不知道如何限制運行時間(沒有延遲)和使用內存與內聯命令。 有什麼建議嗎?
THX之前... 我真的很感謝你的幫助..
命令ulimit
是你的朋友
例如(ulimit -t 1; /your/program 2>/some/logfile) | head -c 100k
會做兩件事情:
查看ulimit
命令。我沒有用過它,但我認爲它會做你想做的。
(ulimit -d 1000 -m 1000 -v 1000 -t 1; /your/program 2>/some/logfile) | head -c 100000
這會限制內存大小以及時間。您可以使用ulimit -a
來了解這些限制意味着什麼,或者閱讀bash手冊頁並搜索ulimit。
我知道了... 感謝您的回覆... :) – 2011-05-16 07:34:44
這是工作.. 感謝您的回答.. 但是,爲什麼我的日誌文件爲空? 我試圖給出的時間限制比我的程序運行時間短,但是,當它停止時,爲什麼我的日誌文件empy? – 2011-05-16 07:37:49
Thx爲你的解釋... 如果你不介意,我想再問一次。 ulimit是工作。我喜歡這樣,但頭不工作... '頭:非法字節數 - 100k' – 2011-05-16 02:29:46
對不起... 我的壞... 我沒有意識到,100K意味着100000 ... thx。 – 2011-05-16 02:39:23
這並不限制所用的內存 – 2011-05-16 04:11:02