2016-06-17 2 views
0

실행중인 프로세스에서 사용 가능한 리소스를 Python에서 변경할 수 있습니까? 즉, 변경하고 싶습니다 Max open filessoft : hard 한도입니다.프로세스에서 사용할 수있는 리소스를 파이썬에서 변경하십시오.

나는 ulimit -n 1024000을 사용할 수 있으며 해당 쉘에서 프로세스를 생성 할 수 있지만 그 프로세스를 미리 중지해야합니다.

나는 또한 prlimit을 알고 있지만 Wheezy 7.6에는 util-linux 2.20.1-5.3으로 사용할 수 없습니다.

파이썬 resource 모듈은 분명히

내가 gdb으로 작업을 수행하는 방법에 대해 설명하는 다음 blog article을 발견하고 난 그냥 비슷한 일이 Python에 있는지 바라고 있어요 ... 단지 자체에 대한 한계를 변경 허용한다.

본질적으로 나는 setrlimit을 만드는 방법을 묻는 것 같아요 파이썬 프로그램에서 실행중인 프로세스에 대한 호출.

답변

1

resource 라이브러리를 다시 살펴보십시오. resource.prlimit() 함수는 첫 번째 인수로 pid을 취하고 그 ID로 프로세스를 찾을 수없는 경우 ProcessLookupError을 발생시킵니다. 그래서 나는 그것이 당신이 찾고있는 것이라고 정확히 믿습니다.

resource.prlimit(pid, resource[, limits])

한 함수와 getrlimit() setrlimit()을 결합 얻을 임의의 프로세스의 자원의 한계를 설정하는 지원한다. pid가 0이면 호출은 현재 프로세스에 적용됩니다. [...]

limits이 주어지지 않으면이 함수는 프로세스 pid의 자원 제한을 반환합니다. limits이 주어지면 프로세스의 리소스 제한이 설정되고 이전 리소스 제한이 반환됩니다.

catch는이 함수가 Python 2.7에 존재하지 않는다고합니다. 다행히도 파이썬 3에서 발끝을 내릴 수 있기를 바랍니다.

+0

죄송합니다. 아마도 내 질문에 잘못 태그를 지정했을 것입니다. 또한'python2.7'에서 작동해야하므로 질문 태그를 업데이트했습니다. 고맙지 만'python3'이이 기능을 가지고 있다는 것을 아는 것이 좋다. –

+0

방금 ​​파이썬 2.7에서 사용할 수없는 것으로 나타났습니다. 편집 중. – alexis

+0

다른 이유로 많은 이유로 python 3으로 전환해야합니다. :-) – alexis

관련 문제