강좌 & 팁
안녕하세요.
오늘은 BLCR을 실행해 보겠습니다.
BLCR 실행 준비물?
BLCR을 실행하기 위한 준비물은 거창 하진 않습니다 ^^
간단한 어플리케이션 하나와 BLCR 모듈이 삽입되었는지 확인하는 것입니다.
준비물에 대해 알아보겠습니다.
1. 어플리케이션
다음은 실행시키면 0~99까지 실행하고 끝나는 간단한 어플리케이션 입니다.
#include <stdio.h>
int main (int argc, char *argv[])
{
int i;
for (i=0; i<100; i++) {
printf("i = %d\n", i);
sleep(30);
}
return 0;
}
다음 명령으로 어플리케이션을 컴파일 합니다.
gcc -o test test.c -lcr
컴파일을 하면 test 파일이 생성됩니다.
2. BLCR 모듈확인
BLCR 모듈이 잘 삽입된었는지 확인하기 위해 다음 명령을 입력합니다.
lsmod | grep blcr
만약 모듈이 삽입 안되어 있으면
"/usr/local/lib/blcr/2.6.32-21-generic"로 이동하여 모듈을 삽입합니다.
cd /usr/local/lib/blcr/`uname -r`/ sudo insmod blcr_imports.ko sudo insmod blcr.ko
3. 실행
다음과 같은 순서로 실행을 합니다.
1. 어플리케이션에서 저장하는 데이터를 봅니다.
tail
-f
test
.out &
2. 어플리케이션을 백그라운드로 실행합니다.
cr_run .
/test
>
test
.out 2>&1 &
3. 어플리케이션 PID를 찾아 MYPID변수에 저장합니다.
MYPID=`
ps
-ef |
grep
"./test"
|
grep
-
v
grep
|
awk
'{print $2}'
`
4. cr_checkpoint를 이용하여 어플리케이션을 "kill" 합니다.
cr_checkpoint $MYPID --save-all --
kill
위 명령을 실행하면 ."test"프로그램은 종료되며 해당 PID에 해당하는 다음 과 같은 파일이 생성됩니다.
context.PID
5. cr_restar를 이용하여 kill 한 위치에서 다시 실행 합니다.
cr_restart --no-restore-pid context.PID
앞으로?
다음엔 더욱 유익한 것을 가지고 돌아오겠습니다 ^^
위 내용은 다음 링크를 참고 했습니다.