한 번에 여러 SAS 프로그램을 nohup하는 방법은 무엇입니까?

한 번에 여러 SAS 프로그램을 nohup하는 방법은 무엇입니까?

여러 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

귀하는 처음이시므로 귀하의 질문에 대한 정답이라고 생각하시면 확인 표시를 클릭하십시오.

관련 정보