2014-11-11 2 views
0

을 실행하십시오. 실행하기 위해 쉘 스크립트를 호출하여 다른 컴퓨터에서 도구를 실행하는 경우 스크립트는 "nohup scriptname"을 사용하여 스크립트를 백그라운드로 실행합니다. 어떤 시간이 지나면 스크립트가 멈추는 것을 안다. 나는 스크립트가 중단되었는지 다시 확인하기 위해 스크립트를 만들고 싶다.nohup 스크립트가 실행되고 있는지 확인하거나

쉘 스크립트에 대한 지식이 거의 없지만 갑자기이 요구 사항이 나왔지만 Google에서 검색했지만 적절한 대답을 얻지 못했습니다. 제발 도와주세요.

+1

더 정확하고 스 니펫을 제공하십시오. 원격 컴퓨터에서 스크립트를 어떻게 연결하고 실행합니까? –

+0

걱정하지 마라. 스크립트가 나의 리눅스 시스템에서 실행되는 것처럼 간단하게 생각해라, 나는 단지 아직도 달리고 있는지 다시 점검하고 싶다. –

답변

1

다음은 간단하고 효과적인 해결책입니다.

첫째, 다시 실행하는 스크립트,의는 bar.sh를 호출하자

#! /bin/bash 

while true ; do 

    echo "Running bar ..." 
    ./bar.sh & 

    echo "Waiting bar's termination" 
    wait 
done 

:

#! /bin/bash 

echo "bar is living" 
sleep 5 
echo "bar is dying" 
exit 

둘째, bar.sh를 실행하고 그의 죽음을 감시 스크립트는 foo.sh라고 터미널을 입력하기 만하면됩니다.

$ chmod +x foo.sh bar.sh 
$ ./foo.sh 
+0

이 예제에서 매우 고마운 +1을주었습니다. nohup도 사용하여 실행할 수 있습니다. –

+0

bar.sh가 비정상적으로 종료 된 경우에도이 작업이 수행됩니다. –

+0

예; 그것은 터미널의 끝까지 살아남을 것이며 결과물은 파일로 저장되거나 시스템에 의해 여러분에게 우편으로 보내질 것입니다. –

관련 문제