/*
* http://sosal.kr/
* made by so_Sal
*/
C언어에서는 time() 함수를,
python에서는 time.time() 등을 호출시켜서
프로그램이 특정 구간동안 얼마의 시간을 초과했는지, 할애했는지 쉽게 찾아볼 수 있다.
쉘스크립트 역시 특정 프로그램이 얼마나 오래 동작했는지 살펴볼 수 있다.
쉘 스크립트 $(date +%s) 를 이용하여 특정 프로그램을 실행시키는 동안
몇초가 경과했는지 알아볼 수 있다.
예제1은 #~~~실행하기에 특정 프로그램 실행 명령어를 넣어주면
StartTime에서 시간을 받아오고, 사용자의 명령이 종료할 시 EndTime에서 시간을 받아와
총 사용자 명령의 경과시간을 echo로 통해 출력해주는 쉘 스크립트이다.
-------------- 예제1. --------------
#!/bin/bash
StartTime=$(date +%s)
# ~~ 사용자 명령 실행하기
EndTime=$(date +%s)
echo "It takes $(($EndTime - $StartTime)) seconds to complete this task."
# ~~ 사용자 명령 실행하기, 이부분에 사용될 간단한 예제를 구현해보자.
예제프로그램 sleep.sh 는 단순히 "Program start"를 출력해 준 후,
3초를 기다렸다가 "Program end"를 출력해주는 쉘 스크립트이다.
이 프로그램이 실행되고 종료될 때 까지 3초의 시간을 할애하게 된다.
소스는 다음과 같다.
-------------- 실행할 프로그램 예제 --------------
# file name: sleep.sh
#!/bin/bash
echo "Program start."
sleep 3
echo "Program end."
실전 예제는 첫 예제1. 에서 '# ~~ 사용자 명령 실행하기' 부분에 sleep.sh를 실행하도록 해주는 명령어이다.
해당 예제를 실행하기 위해, 각 쉘스크립트 파일의 실행권한을 변경해줄 필요가 있다.
각 쉘 스크립트가 실행 가능하도록 하기 위해 chmod 755로 바꿔준다.
[sosal@sosal tmp]$ chmod 755 ./sleep.sh
[sosal@sosal tmp]$ chmod 755 ./TimeCheck.sh
-------------- 실전 예제 --------------
#! file name: TimeCheck.sh
STARTTIME=$(date +%s)
./sleep.sh
ENDTIME=$(date +%s)
echo "It takes $(($ENDTIME - $STARTTIME)) seconds to complete this task..."
[sosal@sosal tmp]$ cat sleep.sh
'Linux > Linux_technic' 카테고리의 다른 글
Linux - 여러 디렉토리에 있는 파일 한번에 처리하기 (0) | 2015.12.18 |
---|---|
리눅스에서 쓰여지고 있는 파일 계속 읽는법 (0) | 2015.07.31 |
리눅스 파일이름, 확장자 한꺼번에 바꾸기 (0) | 2015.07.07 |
nohup - 터미널을 종료해도 꺼지지 않는 프로세스 실행 (2) | 2015.06.28 |
ps에서 pid 목록만 가져와서 kill하기 [GAWK] (1) | 2015.05.17 |