
nohup
세션 사용에 관해 질문이 있습니다 ssh
. 3년 넘게 내 Java 소프트웨어는 원격 SSH 세션을 사용하여 매일 다음 명령을 실행했습니다.
cd some_path; chmod 777 script.sh; ./script.sh
스크립트의 내용은 다음과 같습니다.
nohup java java_command parameters &
매우 간단하며 항상 Red Hat 시스템에서 완벽하게 실행됩니다.
이 명령은 동일한 환경을 사용하는 새 소프트웨어 설치에서는 작동하지 않습니다. 원격 SSH 세션에서 수동으로 실행하는 경우에도 작동하지 않습니다. 그러나 내용을 변경하고 및를 script.sh
제거 하면 명령이 제대로 작동합니다.nohup
&
무엇이 문제일까요? SSH 설정은 동일합니다. 내가 찾은 유일한 차이점은 새 설치에 있었고 원래 설치에서는 달랐습니다 umask
.0012
0022
추가 정보: 원래 설치는 RHEL 5.4이고 새 설치는 RHEL 6.3입니다. 버전 6.3에는 기본적으로 더 많은 제한 사항이 있습니까?
답변1
로그인 쉘이 변경되었습니까?
시도 해봐. 스크립트를 편집하고 nohup
로 변경합니다 /usr/bin/nohup
.
이것이 해결책일 수 있는 이유는 로그인 셸(예: C 셸)에 자체 버전의 "nohup"이 있기 때문입니다. C 셸(또는 tcsh) nohup은 명령을 허용하지만 명령 인수는 허용하지 않습니다. 반면에 /usr/bin/nohup은 nohup을 사용하는 방법인 명령과 선택적 명령 인수를 허용할 수 있습니다.