繁体   English   中英

如何在linux中获取进程的总内存使用量和执行时间?

[英]How to get a process's total memory usage and execution time in linux?

我正在做一个在线裁判,我需要这些信息来进行排名和排行榜。 有人可以帮我吗?

基本实现很简单,但在线评委更多的是首先关注安全性,然后是资源的衡量。

一步一步的天真方式可以写成:

  1. 以特权用户身份运行进程
  2. 安装所有信号处理程序
  3. 将输入文件流复制到标准输入
  4. 创建子进程
  5. 在子进程中设置资源限制值
  6. 在子进程中切换到非特权用户
  7. exec 在子进程中运行的程序
  8. 在父进程中,检查使用 WIFSIGNALED 和 WTERMSIG 等发送的信号并确定子进程的状态。

以下书籍将帮助您学习有关信号和资源限制的这些概念:

UNIX(R) 环境中的高级编程(Addison-Wesley 专业计算系列)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM