2013-01-11 7 views
1

서버에서 프로세스를 시작하는 302 개의 명령을 포함하는 파일이 있습니다. 한 번에 모든 것을 쳐다 보면 죽일 것이므로 한 명령을 셸로 푸시하고 스크립트가 끝날 때까지 기다린 후 다음 스크립트를 호출하는 스크립트가 있습니다.배치 스크립트에서 nohup 또는 disown 작업을 수행합니까?

이 전체 프로세스는 완료하는 데 하루 정도 걸릴 것이므로 그 사이에 로그 오프하고 싶습니다. nohup이 있다는 것을 알고 있습니다. 또는 처음에이 부분을 잊어 버린 경우 disown은 연결을 닫더라도 프로세스가 계속 실행되는지 확인하지만 내 경우에는 그 전화를 어디에 두어야하는지 잘 모르겠습니다. 명령을 전달하는 스크립트 만; 명령에 대해서만; 아니면 둘 다?

바보 같은 질문 인 경우 사과드립니다. 온라인에서이 질문에 대한 간단한 답변을 찾을 수 없었습니다. 문제가 발생했기 때문에 이러한 프로세스를 방해하지 않을 수 있습니다.

+0

Linux 배치 ?? bash 쉘 스크립트를 의미합니까? 302 프로세스를 실행하는 스크립트가 왜 필요한지 묻기를 원하지 않습니다. – PenguinCoder

+0

"system_root"스크립트를 시작할 수 없습니까? 또한 시스템을 켤 때마다 로그인 상태를 유지하는 소유권을 변경할 수 있습니다. – Vogel612

+0

http://stackoverflow.com/questions/3099092/why-cant-i-use-unix-nohup-with-bash-for- loop? rq = 1에는 사용할 수있는 예제가 있습니다. @msw와 같은 소리가 도움이 될 것입니다. – slimdrive

답변

2

당신이 nohup을 사용할 수 있습니다 :

nohup <script name> & 

이 명령을 실행할 수 있고, 안전하게 로그 아웃 은 크론 도움말을 참조하십시오. 그런 다음 다시 로그인하여 ps 명령을 사용하여 스크립트가 아직 실행 중인지 확인할 수 있습니다. 진행 상황을 모니터링하고 모든 표준 및 오류 출력을 해당 파일로 리디렉션 할 수 있도록 로그 파일을 만들 수도 있습니다.

+0

bash에서는 단순히'(

0

스크립트를 실행하도록 예약 할 수 있으므로 프로세스가 실행되는 동안 서버에 연결할 필요가 없습니다. http://www.scrounge.org/linux/cron.html

+0

좋은 해결 방법처럼 들리지만, "ad hoc"으로 시작하고 싶습니다. 말하자면, 너무 비싸기 때문일 수 있습니다. –