안녕하세요? 바람돌이입니다.

이번에 설명할 프로그램은 killproc 으로서 리눅스에서 프로세스를 PID가 아닌 프로세스 이름과 같은 것으로 죽일 수 있는 프로그램입니다.

먼저 http://rpmfind.net/ 이나 그 외에 다양한 곳에서 다운을 받을 수 있습니다.

본 페이지에서도 2.11 버전은 다운 받으실 수 있습니다.



우선 해당 파일을 적당한 곳에 다운 받습니다.
그리고 나서, 다음과 같이 압축을 해제합니다.

[root@localhost ~]# tar zxvf killproc-2.11.tar.gz
killproc-2.11/
killproc-2.11/README
killproc-2.11/COPYING
killproc-2.11/Makefile
killproc-2.11/killproc.8
killproc-2.11/killproc.c
killproc-2.11/startproc.c
killproc-2.11/startproc.8
killproc-2.11/checkproc.c
killproc-2.11/checkproc.8
killproc-2.11/libinit.c
killproc-2.11/libinit.h
killproc-2.11/usleep.c
killproc-2.11/usleep.1
killproc-2.11/killproc-2.11.lsm
[root@localhost ~]#

그리곤 해당 폴더에 들어가서 make를 실행하면 실행 파일이 생성됩니다.


[root@localhost ~]# cd killproc-2.11
[root@localhost killproc-2.11]# make
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -DINITDIR=\"/etc/init.d\" -c libinit.c
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o killproc killproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o startproc startproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o checkproc checkproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -o usleep usleep.c
[root@localhost killproc-2.11]# ll
합계 372
-rw-r--r--  1  223 ftp  18007 11월  8  2005 COPYING
-rw-r--r--  1  223 ftp   4544 11월  8  2005 Makefile
-rw-r--r--  1  223 ftp    983 11월  8  2005 README
-rwxr-xr-x  1 root root 29103  7월 20 17:04 checkproc
-rw-r--r--  1  223 ftp   7511 11월  8  2005 checkproc.8
-rw-r--r--  1  223 ftp   7149 11월  8  2005 checkproc.c
-rwxr-xr-x  1 root root 32245  7월 20 17:04 killproc
-rw-r--r--  1  223 ftp    749 11월  8  2005 killproc-2.11.lsm
-rw-r--r--  1  223 ftp   8631 11월  8  2005 killproc.8
-rw-r--r--  1  223 ftp  10373 11월  8  2005 killproc.c
-rw-r--r--  1  223 ftp  33820 11월  8  2005 libinit.c
-rw-r--r--  1  223 ftp   9341 11월  8  2005 libinit.h
-rw-r--r--  1 root root 21868  7월 20 17:04 libinit.o
-rwxr-xr-x  1 root root 38672  7월 20 17:04 startproc
-rw-r--r--  1  223 ftp   7806 11월  8  2005 startproc.8
-rw-r--r--  1  223 ftp  16992 11월  8  2005 startproc.c
-rwxr-xr-x  1 root root  5917  7월 20 17:04 usleep
-rw-r--r--  1  223 ftp   1024 11월  8  2005 usleep.1
-rw-r--r--  1  223 ftp   1724 11월  8  2005 usleep.c
[root@localhost killproc-2.11]#


보시는 것 중에 killproc 파일이 바로 실행 파일입니다. (특정 터미널에서는 색상이 다르게 보일겁니다.)

이를 PATH를 설정해주어도 되지만, 편하게 계속 사용할 것임으로 /bin 폴더에 복사해 놓습니다.



[root@localhost killproc-2.11]# cp ./killproc /bin
[root@localhost killproc-2.11]# killproc
killproc: Usage:
        killproc [-v] [-t<sec>] [-g|-G] [-SIG] /full/path/to/program
        killproc -l
[root@localhost killproc-2.11]#



그리곤 실행을 시켜보면 어느 폴더에서나 위와 같이 실행이 가능하다는 것을 알 수 있습니다.




사실 make를 하게 되면 3개의 프로그램이 생성됩니다.
1. startproc
2. checkproc
3. killproc

즉, 프로세스를 생성하고, 검사하며, 죽일 수 있는 패키지입니다.
나머지에 대한 것은 검색을 활용하시기 바랍니다.




간단한 killproc 사용법을 설명하겠습니다.
만약 mysqld를 실행하면, 대략 몇개의 프로세서가 동작하게 되는데,

[root@localhost killproc-2.11]# killproc mysqld

하게 되면, mysql에 관련된 프로세서가 모두 죽는 것을 볼 수 있습니다.


스크립트에 넣어서 사용하시는 것도 하나의 팁이 될 수 있겠네요. @^-^@




안녕하세요? 바람돌이입니다.
이번에는 간략하게 프로그래밍을 할 때의 팁을 이야기 하겠습니다.

보통 프로그램을 작성하다보면, 디버깅을 위해서 printf문을 사용할 경우가 많습니다.
또한, 배포를 한 뒤에도, 남들이 자신의 코드를 보고 디버깅을 해야하는 경우가 종종있죠.
이를 위해서 상용적인 코드에는 다음과 같은 Tip을 종종 사용하곤 합니다.

다음과 같은 코드를 header 파일에서 보신적이 있으실 겁니다.

#ifdef XXX_DEBUG
   #define print_debug(A) printf(A)
#else
   #define print_debug(A)
#endif

정확한 명칭은 다를 수 있습니다.

간단하게 살펴보면, "#ifdef"는 뒤에 전처리기명이 정의 되어있으면, 이라는 뜻입니다.
즉, XXX_DEBUG가 선언이 되어있으면, 코드 내에 있는 print_debug(A) 부분은 모두 printf(A)로 치환됩니다.
그리고, 선언이 되어있지 않으면, print_debug(A)는 모두 사라지게 되는 것이죠.

보통 우리는 함수내에 printf(A)를 직접 삽입합니다.
그리곤, 필요없는 상황이 된다면, 삭제를 하지요. 그러나, 매우 귀찮을 일이 될 것이며, 실수로 삭제를 하지 않거나 하는 상황이 발생합니다.

그러나, 위의 코딩 기법을 사용하게 되면, XXX_DEBUG를 선언하지 않는 이상 실제 코드(컴파일한 파일)엔 debugging 코드는 존재하지 않게 되지요.

게다가 만약, 다시 디버깅을 해야하는 상황이 된다면, (다 완성이 되었다고 생각했는데, 오류가 있거나, 버전업을 할 경우) XXX_DEBUG만 다시 선언하면, 곧바로 Debugging을 수행할 수 있습니다.

조금만 더 기법을 사용한다면, debugging을 level 별로도 수행 가능할 것이라 생각합니다.
그 부분은 추후 기법으로 남겨놓죠. @^-^@



전처리기에 대한 것을 더 알고 싶으시다면, #ifndef , #ifdef , #endif #pragma 등등을 검색해 보시기 바랍니다.







우선 지금 설치하고자 하는 MySql의 버전을 확인하시기 바랍니다.
지금은 mysql 5.0.37 입니다.
메뉴얼에 나와있는 버전은 2.4.14.6 이네요.

* 설치 조건
1. windows 2000 , XP나 그 이후 버전에서 동작함
    단, vista에서는 Visual Studio 2005가 인스톨되어 있어야 함

2. CMake. CMake는 다음 경로에서 다운 받을 수 있음
   http://www.cmake.org/ 
   download에 가서 최신 버전을 다운 받으면 됨

3. Microsoft Visual C++ 2005 Express Edition,
    Visual Studio .Net 2003 (7.1),
    Visual Studio 2005 (8.0)
    중에 하나의 Compiler System이 있어야 함 (VS 6.0은 안될 거 같네요. 저두 인스톨 중)

4. 만약 Visual C++ 2005 Expreess Edition을 사용한다면, 다음 싸이트에서 자신에 맞는 SDK를 다운받아서
   사용할 것
   http://msdn.microsoft.com/platformsdk/

5. 3GB~5GB의 여유 공간

이정도 입니다.


1. mysql 각종 설정 확인

mysql> status



2. database확인
 
mysql> show databases;
+--------------------+
| Database                |
+--------------------+
| information_schema |
| mysql                     |
| test                        |
+--------------------+
3 rows in set (0.00 sec)
mysql>



3. database 선택

mysql> use test



4. database 내에 table 확인 (먼저 use를 통해 database를 선택해야 함)

mysql> show tables;


5. database  생성 및 table 생성

mysql> create database [database 이름];
mysql> use [database 이름];
mysql> create table [table 이름] ([Attr 이름] [Attr 타입] , [Attr 이름] [Attr 타입] ... );

6. table의 schema 보기

mysql> describe [table 이름];







이번에 졸업 논문에 MySql을 사용하게 되었다.
때문에 여기저기 돌아다니다가 겨우 알게 된 링크.
영어실력이 부족해서인가... 왜이리두 찾기 어려웠던지...

운영체제 별로 정리되어 링크가 있다.
링크의 제일 마지막에 가면 windows & linux 용 소스 코드도 있다.

이제 이걸 어떻게 인스톨하는지는 해보고 나서 다시 올려야징... 아웅...

오늘은 여기까징!

http://dev.mysql.com/downloads/mysql/5.0.html

이번에 KCC 2007 학술대회에 참가했다.
플래시 메모리 기반 데이터베이스에 대해서 발표를 했다.
그런데, 하필 좌장이셨던, 이우기 교수님께서 TPC-C에 대해서 질문을 하셨고, TPC-C를 잘못 알고 있던 나는 잘못 대답을 하고 말았다.
그 순간, "그게 아니고..." 라는 이우기 교수님의 말씀에, 얼마나 창피하던지...
ㅋㅋ, 가만히 있으면, 중간이라도 간다고... 하필, 대답을 해서리... ㅋㅋ @^-^@
하긴... 그때 분위기가 가만 있을 수 없는 분위기이긴 했다.
그때, 이우기 교수님의 표정은, "어서 대답을 해보게나." 라는 눈빛이였기 때문에 어쩔 수가 없었다.
아무튼, 다신 TPC에 대해서는 잊지 않으리라!!!

정리 들어갑니다.!!!
대부분은 네이버에서 가져온 겁니다. 쩌비... 제가 멀 아나요... 흑흑

1. TPC란?
   트랜잭션 처리 성능 평의회(Transaction Processing Performance Council)에서 발표한 벤치마크(benchmark) 테스트 모델들이다. 보통 TPC라고 하면, 트랜잭션 처리 성능 평의회를 뜻하지만, TPC-alphabet 으로 표기 하여, 벤치마크 테스트 모델을 이야기 한다. TCP는 온라인 트랜잭션 처리(Online Transaction Processing) 시스템의 처리 성능을 평가하는 기준이 된다.

2. 트랜잭션 처리 성능 평의회란?
온라인 트랜잭션 처리(OLTP) 시스템의 처리 성능을 측정하는 성능 평가 기준의 표준 규격을 제정하기 위해 1988년에 결성된 비영리 단체. 사무국은 미국 캘리포니아 주의 산호세에 있다. 미국의 탠덤, DEC, IBM, 영국의 ICL, 일본의 NEC 등 OLTP 시스템 제조업체 34개사와 반도체 제조업체, 사용자 단체 등이 참가하여 OLTP 시스템의 성능 평가 기준을 ‘TPC 벤치마크’라는 이름으로 발행하고 있다. 1989년에 발표한 TPC 벤치마크 A 모델을 시작으로 TPC-A, TPC-B, TPC-C, TPC-D 등 4종류의 표준 규격을 결정했으나 이들은 이미 구형이 되었고, TPC-H(애드 혹 결정 지원), TPC-R(비즈니스 보고 결정 지원), TPC-W(웹 전자 상거래) 등이 새로이 규격화되었다. TPC 벤치마크를 공표하기 위해서는 TPC 위원회에 완전 공개 보고서(FDR:Full Disclosure Report)를 제출하여 승인을 받아야 한다. FDR에는 테스트 실시 시의 시스템 구성이나 가격을 명시해야 한다. TPC 벤치마크는 네트워크를 포함하는 하드웨어 성능과 운영 체계(OS)를 포함하는 소프트웨어 성능을 종합해서 평가할 수 있는 것이 특징이다. TPC 벤치마크의 결과는 성능치와 가격 대 성능비로 표시된다.

3. TPC-A
1989년에 최초로 발표된 규격으로, 은행 창구 업무를 모델로 한 OLTP 시스템 전체의 기본적인 성능을 측정하는 것이다.

4. TPC-B
1990년에 발표되었는데, TPC-A 모델과 대체로 같으나 온라인 처리의 부하를 테스트 내용에서 제외했다. 측정 결과는 tps(초당 트랜잭션 수)로 표시한다. 단말 장치 등을 포함하는 시스템 전체의 가격 공표를 의무화하고 있어서 다른 벤더들의 시스템을 가격 대 성능비로 비교할 수 있다.

5. TPC-C
1992년에 발표되었는데, TPC-A 모델이나 TPC-B 모델보다 복잡한 유통업의 수주·발주 온라인 시스템의 성능 평가를 위한 것이다.

6. TPC-D
트랜잭션 처리 성능 평의회 TPC 에서 제정하여 발표하는 온라인 트랜잭션 처리 OLTP 시스템의 처리 성능을 측정하는 벤치 마크 표준 규격의 D 모델 의사 결정 지원 시스템 DSS 의 성능을 평가하기 위한 것이다



어째, 다 가져다 붙인거 같은 느낌이 들긴 하지만, 한 눈에 보고 정리하시길...
근데, 당최 내가 잘못 대답한 웹에서 여러 유저들이 동시에 게시판에 접근하는 질의를 평가하는 모델은 어떤거얌???
보아하니, TPC-A~D 에는 없는거 같은데... 아놔~~~


ㅋㅋ 드디어 캡쳐를 했다~~~ 냐향향~~~

마지막 대학생활을 만끽했다는~~~

자!~ 동영상도 고고~
 

이런... recruit란 단어 엄청 나오더라...

그런데, 그 뜻을 몰랐다는... 모집하다 라는 뜻이라는데...

아... 그리구, 답 올라온거 좀 맞춰보니까...

또, 반띵이다... 좀 맞은 거 같다 싶으면, 이것저것 틀려서 결국 반띵이다...

그래두, 반 이하가 아닌걸 다행으로 생각해야 하는 건가...?

정말 미치겠당... 이번엔 시간도 모자랐다.

처음에 LC들으면서, 팍 느낌이 안좋더만...

결국, part 6에서 시간을 너무 많이 빼앗겼다.

그러다 보니, 뒤에 거의 5문제는 찍은거 같다. 어후...

그리구, LC는 왜 이리 어려운거얌?

머 들리는게 있어야징!!! 멀 해먹징!!!

아무튼, 정말 이제부터 시작이다.! 정신 똑바로 차리자!

아자아자아자!!!
사용자 삽입 이미지

평소엔 거들떠 보지도 않던 한국정보과학회 회지이다.
우연히 4,5,6월호 회지가 한꺼번에 왔다.
뜯어보니 6월호의 주제가 "차세대 저장 장치"이기에 주의깊게 봤다.
그랬더만, 관심있는 주제가 많았다.

1. Flash Memory 기반 임베디드 멀티미디어 소프트웨어 기술 개발
   - 정보통신연구진흥원 : 곽종철
   - 서울대학교 : 민상렬
   - 정보통신연구진흥원 : 박장석

2. 플래시 파일 시스템 기술 소개
   - 지인정보기술 : 김성관

3. 고성능 플래시 메모리 SSD(Solid State Disk) 설계 기술
   - 엠트론 : 배영헌

4. 하이브리드 하드디스크 : 데이터 저장 장치 특성 향상을 위한 플래시 메모리의 응용
   - 삼성전자 : 이시윤

5. 플래시 메모리 소프트웨어 특허 동향
   - 홍익대학교 : 한주선

6. 플래시 메모리와 데이터 베이스
   - 한국외국어대학교 : 박상원

7. 그 이상이상~~~ (생략)



헐... 혹시 우리 연구원들은 알겠지만, 대부분이 이번 서울대 선도과제에 참석하는 분들이다.
총 8개인가의 논문이 실렸는데, 헐... 그 중 6개가 서울대 선도과제라니... ㅋㅋ
한편으로는 뿌듯하고, 한편으로는 조금은 한 집 놀이같다는...  @^-^@

아무튼, 박상원 교수님 논문도 실려서 뿌듯했당.
보면 알겠지만, 우리가 자주 보던 내용들이 많다. 한 번 훑어봐야징~

뜻깊은 6월호였당~ 홍홍

+ Recent posts