다음 명령을 실행하고 싶습니다.
tail -f mylog.log > snippet.log
쉘 시간 초과나 기타 문제에 대해 걱정하지 않고 백그라운드에서 실행하고 싶습니다.
경고와 오류가 발생합니다.
nohup tail -f mylog.log > snippet.log & > nohup2.out (or dev null)
올바른 명령은 무엇입니까?
답변1
귀하의 코드가 이해되지 않습니다.
stdin 및 stderr 채널을 리디렉션하려면 다음을 사용합니다.
nohup tail -f mylog.log > ./messages.log 2> ./errors.out
모든 메시지를 하나의 파일로 이동하려면 다음을 사용할 수 있습니다.
nohup tail -f mylog.log > all_messages.txt 2>&1
메시지를 복사하려면 다음을 사용할 수 있습니다.
nohup tail -f mylog.log | tee messages1 messages2 ...
답변2
nohup 자체에서 nohup2.out으로 메시지를 가져오려고 하는 것 같지만 & async는 전체 명령을 종료하고 최종 리디렉션에서는 파일을 지웁니다.
이것은 작동하는 것 같습니다. 원래 쉘을 닫고 kill -HUP 및 kill -INT를 시도했는데 둘 다 살아 남았습니다.
nohup >nohup2.out 2>&1 bash -c 'tail -f mylog.log > snippet.log' &