항상 백그라운드에서 명령을 실행하는 방법은 무엇입니까?

항상 백그라운드에서 명령을 실행하는 방법은 무엇입니까?

터미널에서 실행할 때 아래 명령은 출력을 message.log에 계속 게시합니다.

cf logs broker-analytics > /var/www/cfbrokerlogs/message.log

그러나 터미널을 닫으면 작동이 중지됩니다. 항상 백그라운드에서 실행되게 하려면 어떻게 해야 합니까? 또한 어떤 이유로 실행이 중지되면 이를 확인하고 항상 실행 중인지 확인하는 좋은 접근 방식은 무엇입니까?

이 명령은 항목이 있을 때 로그를 인쇄합니다.

저는 우분투 서버 14.04를 사용하고 있습니다.

답변1

nohup다음과 결합하여 사용할 수 있습니다 &.

nohup cf logs broker-analytics > /var/www/cfbrokerlogs/message.log &

nohup명령은 프로그램이 중단 신호(즉, 터미널을 닫을 때 전송되는 신호)를 무시하도록 합니다., 물론 &백그라운드에서 실행됩니다.

아직 실행 중인지 확인하거나 종료하려면 다음을 사용할 수 있습니다 ps.

ps ax | grep cf logs broker-analytics

그러면 필요한 경우 프로세스 ID를 볼 수 있습니다 kill.

관련 정보