명령 줄에서 시간을 어떻게 추적 할 수 있습니까?


11

시간을 추적하는 명령을 찾고 있습니다.

다음과 같은 워크 플로를 상상합니다.

  1. 명령을 실행
  2. ... 다른 일을 ...
  3. 터미널 창으로 돌아가서 명령을 중지하십시오
  4. 출력으로 3에서 1 사이의 시간이 수신됩니다.

@JacobVlijm 나는 Anwar의 답글이 명확하다는 것을 정말로 좋아합니다. 비 기술적 인 사용자는 가능한 중복 스레드에서 답변을 이해하는 것이 더 쉽습니다. 어떻게 생각해?
orschiro

2
@JacobVlijm 나는 이것이 중복이라고 생각하지 않습니다. 여기서 OP는 스톱워치를 요청하고 프로세스 실행 시간을 측정하는 방법을 묻는 질문입니다.
세스

@Seth는 투표를 철회했다.
Jacob Vlijm

@ 에릭 위의 내 의견을 읽었습니까?
세스

답변:



6

어때요?

stopwatch() { 
    local start=$SECONDS
    read -p "Hit Enter..."
    echo $((SECONDS-start)) seconds elapsed
}

행동 :

$ stopwatch 
Hit Enter...
14 seconds elapsed

3

간단한 방법은 시작 시간이 걸리고 일단 스크립트를 중지하면 중지 시간이 걸리는 것입니다. 마지막으로 시차를 인쇄하십시오. 이것은 파이썬으로 쉽게 할 수 있습니다 :

python -c $'import time;start=time.time();\ntry:\n\twhile True: time.sleep(0.25)\nexcept: print(time.time()-start)'

가독성을위한 긴 버전 :

import time
start=time.time();
try:
    while True: time.sleep(0.25)
except: 
    print(time.time()-start)

Ctrl + C로 중지


1
while True: passCPU를 100 %로 실행합니다. while True: time.sleep(1e9)대신 제안 합니다 ( signal.pause()작동하지만 추가 가져 오기가 필요합니다).
2012rcampion

@ 2012rcampion 좋은 지적은 이미 편집했습니다.
Sergiy Kolodyazhnyy

1
이것은 보통 잡을 나쁜 사례로 간주되어 모두 (이 경우에는 아마 너무 관련이없는 비록), 예외를 except KeyboardInterrupt더 나은 것
토비아스 Kienzler

3
@TobiasKienzler 알고 있습니다. 이것이 큰 프로젝트 인 경우 여러 예외를 잡기 위해 물건을 나눕니다. 다른 코드, 지표 등을 자유롭게 살펴보십시오. 그러나이 경우에는 하나만 있으므로 정확하게 관련이 없습니다. 또한 이것은 빠르고 더러운 방법입니다. 왜 골프를 약간합니까?
Sergiy Kolodyazhnyy

나는 충분히 언급 할 가치가 있다고 생각했다.;)
Tobias Kienzler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.