1.tmboot 기능 제한을 위한 wrapping 프로그램(tmstart.c)
C 프로그램을 이용 tmboot command를 "tmboot -s servername"만 실행되도록 별도의 실행파일을 만든다.
tmshutdown 역시 같은 방법으로 별도의 실행파일을 만든다.
1.1 C 프로그램(tmstart.c)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
char *tux_dir, sbuf[256];
int len = 0;
if (argc != 2) {
fprint(stderr, "Usage : %s Servername\n\n", argv[0]);
exit(-1);
}
if ((tux_dir = getenv("TUXDIR")) == (char *)0) {
fprintf(stderr, "env variable TUXDIR Not Set !!\n");
exit(-1);
}
len = strlen(argv[1]);
if (len > 15) {
fprintf(stderr, "서버명은 15byte 까지만 허용됩니다.(%-16.16s)\n", argv[1]);
exit(-1);
}
memset(sbuf, 0x00, sizeof(sbuf));
sprintf(sbuf, "%s/bin/tmboot -s %-*.*s", tux_dir, len, len, argv[1]);
system(sbuf);
}
1.2 C 프로그램 컴파일
> cc -o tmstart -R $TUXDIR/lib tmstart.c
> cc -o tmstart -L $TUXDIR/lib tmstart.c
> cp tmstart tmstop
1.3 별도로 작성한 실행파일의 권한 설정
> chmod u+4755 tmstart tmstop
2.설정절차
2.1 Tuxedo 관련 환경변수 설정
export TUXDIR=/tuxedo
export PATH=
export LIBPATH=
2.2 Tuxedo의 Shared library를 개발자 계정에서 사용할 수 있도록 설정
개발자 계정에서 서버 프로세스를 Start, Stop할 때 boot된 서버 프로세스가 Tuxedo Admin 계정으로 실행되도록
Effective User를 Tuxedo Admin 계정으로 설정한다.
> chmod u+s tmboot
> chmod u+s tmshutdown
주의) 하면 안됨(tmboot: CMDTUX_CAT:1113: ERROR: Must be the administrator to execute this command)
[AIX 장비]
exec(): 0509-036 다음 오류 때문에 /usr/ssw/tuxedo/bin/tmshutdown 프로그램을 로드할 수 없습니다.
0509-150 종속 모듈 libgpnet.so이(가) 로드되지 않았습니다.
0509-022 libgpnet.so 모듈을 로드할 수 없습니다.
0509-026 시스템 오류: 경로 이름에 있는 파일이나 디렉토리가 존재하지 않습니다.
===>
$TUXDIR/lib 에 있는 라이브러리를 /usr/lib 에 Symbolic link를 걸어 줘야 함.
'▶ Tuxedo > 기술자료' 카테고리의 다른 글
Tuxedo 서비스 개발시 유의사항(AIX) (0) | 2010.11.16 |
---|---|
Building the Tuxedo MQ Adapter (0) | 2010.05.02 |
개발시 사용하면 편리한 프로그램 (0) | 2010.05.02 |
코드 변환 프로그램(ASCII->EBCDIC, EBCDIC->ASCII) (0) | 2010.05.02 |
Auto Spawn 설정방법 (0) | 2010.05.02 |