1
를 사용하여 -d, ulimit를 여전히 무제한으로 보여줍니다하지만 난 대답은 1024실행 ulimit를 나는 다음 두 줄과 교류 코드를 실행하려고하면 시스템() 함수
system("ulimit -d 1024"); system("ulimit -d");
를 사용하여 -d, ulimit를 여전히 무제한으로 보여줍니다하지만 난 대답은 1024실행 ulimit를 나는 다음 두 줄과 교류 코드를 실행하려고하면 시스템() 함수
system("ulimit -d 1024"); system("ulimit -d");
하면되고 싶어 호출 프로세스에 대해 ulimit을 설정하려면 setrlimit(2)을 arguemnt RLIMIT_DATA
과 함께 사용하십시오.
system()
은 fork하고 ulimit 명령은 호출 프로세스가 아닌 자식 프로세스에만 영향을줍니다.
그것은'system (..)'이 새로운 하위 셸을 만들고'ulimit'이 그 하위 셸에만 영향을주기 때문입니다. 쉘이'system (...) '에서 돌아 오면 파괴됩니다. 무엇을하려고하든간에 다음 중 하나를 수행해야합니다. 1) 쉘 스크립트로 마무리해야합니다. 2) 현재 프로세스에 대해이 기능을 제공하는 API를 사냥하십시오. – SuperSaiyan
당신은'etc/security/limits.conf'를 수정하여 시스템 당 기준으로 이러한 한계를 설정할 수 있습니다 ... 이것이 여러분의 질문에서 당신을 도울 지 확실하지 않습니다. – David