ptrace如何监视进程的内存和时间等?

我想通过ptrace系统调用限制运行在OJ上的进程的时间和内存.但是不知道如何能获取到进程分配的虚拟内存的大小.我现在只知道怎么拿到各个寄存器的值.目前的思路是把栈基指针和栈顶指针相减,只拿栈的大小来算,这样可行么?我还查到进程描述符有一个mm_struck结构体来描述内存的,但是不知道怎么通过ptrace获取这个结构体.一般OJ的解决方法是怎样的呢?

如何限制容器的大小,我看到这个问题,正好也是想在docker上运行当作沙箱就不用进程的限制系统调用了,想问一下,如果是docker的话,又怎么做比较好呢?

阅读 4.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题