ksh에서 nohup 스크립트를 실행할 수 없습니다.

ksh에서 nohup 스크립트를 실행할 수 없습니다.

일련의 지침이 포함된 텍스트 파일을 읽으려고 합니다.

#!/bin/ksh
INPUT=input.txt
OLDIFS=$IFS
while IFS='~' read -r ACTIVE process_name PATH  STOP START DB
do
    
    if [ $ACTIVE == 'Y' ]; then
    echo "IS ACTIVE?  : $ACTIVE "
    echo "PROCESS NAME : $process_name"
    echo "PATH1 : $PATH"
    echo "STOP_SCRIPT : $STOP"
    echo "START_SCRIPT : $START"
    echo "DB_QUERY : $DB"
    echo "*****************************************************"
    echo "starting $process_name"
    cd $PATH
    $START
    fi
    done < $INPUT
IFS=$OLDIFS

input.txt의 예시 지침은 다음과 같습니다.

Y~ABC~/path/to/dir/work/~kill~nohup ABC.ksh  >nohup.out 2>&1 &~~

위 스크립트는 중지 스크립트를 다음과 같이 읽습니다.

nohup ABC.ksh >nohup.out 2>&1 &

하지만 ./test.ksh를 실행하면

프롬프트가 반환되지 않고 계속 켜져 있습니다.

/path2/to/dir/> Sending nohup output to nohup.out.

/path2/to/dir/>

스크립트에 "nohup ABC.ksh >nohup.out 2>&1 &"를 하드코딩하면 정상적으로 실행됩니다.

나는
nohup ABC.ksh >nohup.out 2>&1 & nohup ABC.ksh &를 시도했습니다.

그러나 ABC.KSH는 무한 루프에서 실행되고 제어가 반환될 때까지 기다릴 수 없기 때문에 작동하지 않습니다.

도와주세요! ! !

이미 시도했습니다 쉘 스크립트에서 쉘 스크립트를 실행하는 방법 및 기타 사용 가능한 솔루션이 여전히 작동하지 않습니다

관련 정보