여러 SAS 프로그램이 있습니다
test1_2.sas
test3_4.sas
test7_8.sas
나는 nohup
이 스크립트를 즉시 사용할 수 있기를 원합니다. 다음과 같은 쉘 래퍼를 만들어 보았습니다 test.sh
.
#test running multiple files
testing1_2.sas &
testing3_4.sas &
나는 전화를 시도 nohup sas test.sh &
했고 nohup test.sh &
. 두 명령 모두 test.sh
폴더에 명시적으로 저장된 경우 현재 디렉터리에 없다고 알려줍니다 .
저는 쉘 스크립팅을 처음 접했고 nohup
여러 SAS 프로그램에서 쉘 스크립팅을 실행하는 올바른 방법을 찾는 데 도움이 필요합니다. 감사해요!
답변1
나는 nohup의 열렬한 팬은 아니지만(대신 disown을 사용합니다) 쉘 스크립트의 모든 명령 앞에 "nohup"을 넣으면 질문의 nohup 부분이 달성됩니다.
그러나 귀하의 파일이 SAS 프로그램이라고 가정합니까? SAS가 각 SAS 프로그램에서 병렬로 실행되도록 하려면 다음을 수행하십시오.
nohup sas test1_2.sas &
nohup sas test3_4.sas &
etc.
각각 자체 SAS 프로그램을 사용하여 독립적인 SAS 명령을 실행합니다.
nohup 명령을 계속 사용하세요. 출력이 생성되면 nohup.out에도 기록됩니다. 이를 방지하려면 각 명령의 출력 및 오류 메시지를 별도의 파일에 작성하십시오.
nohup sas test1_2.sas > output1_2.file 2>&1 &
nohup sas test3_4.sas > output3_4.file 2>&1 &
etc.
주석의 코드를 포함하도록 추가되었습니다.
test.sh 명령 호출
bash test.sh
(여기서 "bash"는 가장 좋아하는 쉘입니다) 또는 실행 가능으로 표시하십시오.
chmod +x test.sh
귀하는 신규 사용자이므로 이것이 질문에 대한 정답이라고 생각되면 확인 표시를 클릭하십시오.