我在Eclipse上编写了两个简单的程序来测试ulimit终端命令(它们的二进制文件附在一起) ++++++++++++++++++++++++++++++++ Iterator。
#include<iostream>
using namespace std;
int main(){
for(long long i = 0;;i++)
cout << i << endl;
return 0;
}++++++++++++++++++++++++++++++++定时器
#include<iostream>
#include<time.h>
using namespace std;
clock_t start;
int main(){
start = clock();
for(long long i = 0;;i++)
cout << i << " in " << (double)(clock()-start)/(double)CLOCKS_PER_SEC << "seconds" << endl;
return 0;
}++++++++++++++++++++++++++++++++测试定时器
+ulimit -t 0; '[PATH]\timer输出端
116997 in 1.06seconds
Killed
'+ulimit -t 1; '[PATH]\timer输出端
102501 in 0.96seconds
Killed
'+ulimit -t 2; '[PATH]\timer输出端
[TEST 1]133073 in 1.19seconds
Killed
[TEST 2]101894 in 1seconds
Killed
[TEST 3]100950 in 0.96seconds
Killed
[TEST 4]126723 in 1.13seconds
Killed
[TEST 5 after opening a new terminal session]229302 in 2.14seconds
Killed
'+ulimit -t 5; '[PATH]\timer输出端
**[TEST 1]219295 in 1.99seconds
Killed**
**[TEST 2 ater opening a new session]603088 in 5.47seconds
Killed**++++++++++++++++++++++++++++++++测试迭代器
+ulimit -t 0; '[PATH]\iterator'输出端
200412
Killed
+ulimit -t 1; '[PATH]\iterator'输出端
199462
Killed
+ulimit -t 2; '[PATH]\iterator'输出端
206111
Killed
+ulimit -t 5; '[PATH]\iterator'输出端
244284
Killed你觉得有什么问题吗?似乎一个新的终端会话预先设定了一个新的时限--谢谢
发布于 2012-08-24 09:57:38
在GNU/Linux上,只要在/etc/security/limits.conf配置中提到pam_limits.so,就可以为pam配置文件中的所有会话设置cpu限制。
发布于 2012-08-24 10:32:38
是这样的。ulimit适用于当前shell的后代,而不是不相关的进程。
https://stackoverflow.com/questions/12106939
复制相似问题