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

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

터미널에서 실행하면 다음 명령이 계속해서 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필요한 경우).

관련 정보