linux程序无法获取cpu资源,Linux系统编程获取系统的CPU资源

这段C++代码演示了如何使用临时文件、进行错误检查、计算数学函数以及获取和设置资源限制。它展示了工作负载的CPU使用率、当前进程优先级以及文件大小限制,并在运行后调整这些限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

还是纯干货,代码拿来:

#include

#include

#include

#include

#include

#include

#include

void work()

{

FILE *f;

int i;

double x = 4.5;

f = tmpfile();

for(i = 0; i < 10000;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.21);

}

int main()

{

struct rusage r_usage;

struct rlimit r_limit;

int priority;

work();

getrusage(RUSAGE_SELF, &r_usage);

printf("CPU usage: User = %ld.%6ld, System = %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("Current priority = %d\n", priority);

getrlimit(RLIMIT_FSIZE, &r_limit);

printf("Current FSIZE limit: soft = %ld, hard = %ld\n", r_limit.rlim_cur, r_limit.rlim_max);

r_limit.rlim_cur = 2048;

r_limit.rlim_max = 4096;

printf("Setting a 2K file size limit\n");

setrlimit(RLIMIT_FSIZE, &r_limit);

work();

exit(0);

}效果如图所示:

ec612dc8c8537789375c7eb75396a293.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值