명령 실행을 유지하려면 nohup에 함수를 전달하세요.

명령 실행을 유지하려면 nohup에 함수를 전달하세요.

주어진 디렉토리를 조사하고 qpress를 사용하여 모든 파일의 압축을 푸는 다음 함수를 설정했습니다. 또한 프로세스를 실행하는 데 걸린 시간도 기록합니다.

fc_decompress () {
    startTime="$(date +%s)";
    find "$1/" -type f -iname '*.qp' -exec sh -c 'for f in "$@"; do /usr/bin/qpress -d "$f" "$(dirname "$f")" && rm "$f"; done' find-sh {} +
    endTime="$(date +%s)";
    runTime=$(( ${endTime}-${startTime} ));
    echo "Total Run Time: ${runTime}";
}

함수를 실행하면:

fc_decompress "${testDir}"

좋은 결과. 그러나 어떤 경우에는 이 과정이 오래 걸릴 수 있으므로 다음과 같이 실행하려고 생각했습니다.

nohup sh -c 'fc_decompress "${testDir}"' &

그러나 이것은 더 이상 작동하지 않으며 오류가 발생합니다.

sh: fc_decompress: command not found

nohup실행하고 종료하도록 설정할 수 있도록 명령 에 함수를 어떻게 전달합니까 ?

관련 정보