linux - 使用setrlimit如何知道程序已经超过了设置的时间和内存呢?
大家讲道理
大家讲道理 2017-04-17 15:33:51
[Linux讨论组]

我知道如果时间超过限制会发出SIGXCPU信号。
那么内存超过限制呢?会发出什么信号?
还有就是我想知道哪里可以查看该类型函数的文档。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
巴扎黑

用brk(2), mmap(2) and mremap 分配的内存受到RLIMIT_AS的限制,超出会报错(ENOMEM),栈溢出报SIGSEGV并杀死进程,你用man setrlimit查查,写得很清楚的呀。

{还有就是我想知道哪里可以查看该类型函数的文档。} 你是用linux吗?man setrlimit不就出来了,网上也有公开的man文档可以查。

RLIMIT_AS

          The maximum size of the process's virtual memory (address space) in bytes.  This limit affects calls to brk(2),  mmap(2)  and mremap(2),  which fail with the error ENOMEM upon exceeding this limit.  Also automatic stack expansion will fail (and gener ate a SIGSEGV that kills the process if no alternate stack has been made available via sigaltstack(2)). 
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号