2009-06-10 5 views
7

우분투 리눅스 (2.6.28-11- 일반 # 42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux)를 실행하고 있는데 "ulimit - t "가 제대로 작동하지 않습니다. 나는 달렸다 :ulimit -t 우분투 아래

ulimit -t1; myprogram

여기서 'myprogram'은 무한 루프입니다. 나는 프로그램이 1 초 후에 중단 될 것을 기대했으나 멈추지 않았다. 나는 Linux Fedora 설치에서 똑같은 것을 시도했고 예상대로 작동했다.

제대로 작동하려면 몇 가지 구성이 설정되어 있습니까?

은 - Tsf 지적

+0

에 그것을 시도 나는 저기 serverfault에 속해 있다고 생각하지 않습니다. 무엇이 당신을 그렇게 생각하도록 만들었나요? –

+0

예, 당신 말이 맞아요. 너무 빨리 반응했습니다. –

답변

16

으로 TSF 문제가 인해 bug in kernel 2.6.28이다. 어쨌든 도움이 될 수 있다고 생각하기 때문에 원래 답변을 남깁니다.

ulimit를에 관련하여 계산 무엇

-t The maximum amount of cpu time in seconds.

에서 ulimit 맨 페이지에서

CPU 시간이다. 이 같은 프로그램을 시작하려고 : 정말 사용하는 방법에 많은 CPU 시간을 보여줍니다

time myprogram 

합니다.

궁금한 점은 무한 루프에 sleep() 이 포함되어 있고 휴면 시간이 프로세스의 CPU 시간에 기여하지 않는다는 것입니다.

[email protected]:~$ bash 
[email protected]:~$ ulimit -t 1; for ((i=1; 1; i++)); do a=1; done 
Killed 

이 영원히 실행하는 것 (하지만 물론하지 않습니다) :

이 하나 초 후에 사망 도착이 같은

[email protected]:~$ bash 
[email protected]:~$ ulimit -t 1; for ((i=1; 1; i++)); do sleep 1; done 

측정 CPU 시간 ...

[email protected]:~$ time for ((i=1; i<5; i++)); do sleep 1; done 

... 5 초 후 ...

real  0m4.008s 
user  0m0.000s 
sys   0m0.012s 

... 12 밀리 초 CPU 사용 시간.

나는 우분투 말쑥한의 잭카 (9.04)

Linux host 2.6.28-11-generiC#42-Ubuntu SMP 
Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux 
+1

아니요, 제 프로그램에 잠이 없습니다. Fedora에서 예상대로 작동하여 우분투의 구성 문제처럼 보입니다. – Tsf

+1

나는 다른 주제에서 같은 질문을 게시 그것은 저를 지시 응답했다 : 이 https://bugs.launchpad.net/ubuntu/jaunty/%2Bsource/linux/%2Bbug/361508 문제를 설명하고 그 ! – Tsf

+0

고마워, 나는 내 대답의 맨 위에 당신의 힌트를 추가했다. 사람들이 커널 버그를 먼저 보는 것이 더 좋습니다. –