#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <unistd.h>
static void work()
{
int i = 0;
FILE *f;
double x = 3.5;
f = tmpfile();
if(!f)
{
exit(0);
}
for(;i<1000;i++)
{
fprintf(f, "Do some output\n");
if(ferror(f))
{
fprintf(stderr, "Error writing to temporary file\n");
exit(1);
}
}
for(i=0;i<1000000;i++)
{
x = log(x*x + 3.1);
}
}
int main()
{
struct rusage r_usage;
struct rlimit r_limit;
int priority;
work();
//用户时间,系统时间cpu
getrusage(RUSAGE_SELF, &r_usage);
printf("user time: %ld.%06ld sys time: %ld.%06ld\n", r_usage.ru_utime.tv_sec, r_usage.ru_utime.tv_usec,
r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);
//优先级
priority = getpriority(PRIO_PROCESS, getpid());
printf("priority is: %d\n", priority);
//文件大小限制
int rv = getrlimit(RLIMIT_FSIZE, &r_limit);
if(-1 == rv)
{
printf("error\n");
}
else
{
printf("soft = %ld hard = %ld\n", r_limit.rlim_cur, r_limit.rlim_max);
}
}