2011-10-22 50 views
0

我有一個問題涉及PHP和Java編程。 我將開發一個Web應用程序來執行單元測試。 PHP是我將用於Web的語言,並將執行exec()函數。當我閱讀時,函數返回執行的輸出,好的,我確實需要它。但是這還不夠,我還想如果我可以在執行過程中獲取多少內存。 網絡將在Linux本地操作系統(在Ubuntu中提供)中運行在Apache Web服務器上。PHP exec使用內存使用信息進行單元測試

這是第二種情況: 如果有一個Java源代碼包含一個程序,該程序在執行過程中需要用戶輸入,我怎樣才能通過Web服務器執行它,同時也傳遞所有可能作爲用戶輸入?

接下來的問題是,exec()函數只接受行中的參數。 如果我想要

那麼,如果有什麼想法該怎麼做?

+0

我不知道你在問什麼,但有各種可用於PHP的分析器,可以給內存消耗。如果您只想知道單元測試的內存使用情況或執行時間,那麼PHPUnit會在測試結果後默認提供這些信息。 – Gordon

回答

1

/usr/bin/time程序(time(1)記錄)可以返回的內存執行過程中使用的量:

$ /usr/bin/time echo hello 
hello 
0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 2512maxresident)k 
0inputs+0outputs (0major+205minor)pagefaults 0swaps 

你可以看到echo(1)程序所需的內存2.5兆並很快就跑。較大的項目將是更令人印象深刻:

$ /usr/bin/time jacksum --help 
Unknown argument. Use -h for help. Exit. 
Command exited with non-zero status 2 
0.08user 0.03system 0:00.87elapsed 12%CPU (0avgtext+0avgdata 57456maxresident)k 
25608inputs+64outputs (92major+4072minor)pagefaults 0swaps 

jacksum是一個基於Java的程序,於是花了57兆告訴我,我搞砸了命令行參數。這還差不多。

您可能還會發現值得的BSD流程帳戶系統。有關更多信息,請參閱lastcomm(1)sa(8)dump-acct(8)