AIX

Warning: UNIXProcess.forkAndExec native error: Arg list too long 으로 명령 실행 안될때.

efrit 2010. 2. 18. 17:10

http://docs.sun.com/app/docs/doc/820-7429/gfxzh?a=view

AIX 운영 체제에서 일부 OS 관련 작업은 다음 오류와 함께 실패합니다.
0403-027 The parameter list is too long
OS 관련 작업의 예로는 응용 프로그램 배포나 응용 프로그램 클라이언트 컨테이너 실행이 있습니다.
이 문제는 일반적으로 CLASSPATH 환경 변수의 긴 파일 경로로 인해 발생합니다.

해결.
1. 최대 명령줄 길이를 늘립니다. 자세한 내용은 (AIX) 최대 명령줄 길이를 늘리려면을 참조하십시오.
   lsattr -El sys0 | grep ncargs
   chdev -l sys0 -a ncargs=12
2. xargs 명령을 사용하여 인수 목록을 구성하고 명령을 시작합니다. xargs 명령을 사용하면 명령이 최대 명령줄 길이를 초과할 수 있습니다.
  ex)

  #>find . -name "*.c"|xargs tar -cvf source.tar

  #>find . -name "*.c"|xargs rm -f

************************
ncargs 속성은 환경 변수를 포함한 최대 명령줄 길이를 결정합니다. AIX 운영 체제에서 ncargs 속성의 기본값은 4KB 블록 4개입니다. Enterprise Server 명령이 최대 명령줄 길이를 초과하지 않게 하려면 이 값을 4KB 블록 16개로 늘립니다.

ncargs 속성 값을 변경한 후 데몬을 재부트하거나 새로 고칠 필요가 없습니다