2013-03-12 39 views
-3

我有一個二進制文件。我想在執行時爲該二進制文件設置可用資源的限制。爲c程序的用戶會話強制執行資源限制

+0

這是不是真的清楚你想要達到的目標。但'malloc'會從堆中分配內存,而不是堆棧。如果你只想執行'if'內的代碼,那麼爲什麼不簡單地將該代碼改爲:'if(1){... whatever ...}'? – 2013-03-12 18:29:40

+0

哦!但我沒有更改代碼的權限。有沒有辦法限制堆使用? – leet 2013-03-12 18:33:50

+0

如果您的分配成功,您是否打算釋放內存?當然,你會想把地址放在一個變量中,並用它做些什麼? – 2013-03-12 18:34:27

回答

0

,你可以簡單地使用

 uname -v [Memory in KB]

0

我不知道我知道你想要什麼,但你可以的可用內存量設置爲malloc這樣的:

struct rlimit s; 
    int ret = getrlimit(RLIMIT_DATA, &s); // 0 on success 
    s.rlim_cur = s.rlim_max; 
    ret = setrlimit(RLIMIT_DATA, &s); 

這將使過程中對其進行數據最大內存。但是,如果在此過程中已將最大值設置爲低,則普通用戶無法再次增加它。

+0

我不能這樣做,因爲我剛纔說我只有二進制文件。 – leet 2013-03-12 19:03:20