system 함수로 sh 수행 시 문제점

madbattle의 이미지

sprintf(SPath, "/pgm/ATM/ap/shell/tloadshm.sh M %6s%3s", lc_ofc_code, lc_
mcn_no[i]);

result = system(SPath);

tloadshm.sh 을 수행시킴니다

tloadshm.sh 내용은

#! /usr/bin/ksh

Today=`date +%Y%m%d`

#rsh ibmit1 /pgm/ATM/ap/shell/loadshm $*
/pgm/ATM/ap/shell/loadshm $* >> aaa.txt
rsh dev51 /pgm/ATM/ap/shell/loadshm $* >> bbb.txt

내용인즉 tloadshm.sh 은 기존 시스템에서 loadshm 을 수행시키고
rsh 로 dev51에 있는 loadshm 을 수행 시키는 것입니다.

요기서 loadshm 은 공유메모리 값을 변경해주는 역활을 합니다.

/pgm/ATM/ap/shell/loadshm $* >> aaa.txt 수행하면 공유메모리 값은 변경되어져 있습니다.

그러나 rsh dev51 /pgm/ATM/ap/shell/loadshm $* >> bbb.txt 는 수행이 안되는지 dev51에 있는 공유메모리 값이 변경이 안되어져 있습니다

명령이 잘못되었나 해서 프롬프트에서 rsh dev51 /pgm/ATM/ap/shell/loadshm M 000060045 를
수행시키면 dev51에 있는 공유메모리가 변경이 됨니다.

이렇게 되는 이유가 무엇인가요 이유를 알수가 없내요 .. 부탁드립니다.

bushi의 이미지

rsh dev51 /pgm/ATM/ap/shell/loadshm $* >> bbb.txt 2>&1

OTL