출력을 삭제하지 않고 백그라운드에서 실행

출력을 삭제하지 않고 백그라운드에서 실행

Git 호스팅을 사용합니다. 그래서 나는 많이 달린다 git push.

git push완료될 때까지 기다릴 필요 없이 대신 터미널에서 다른 작업을 수행할 수 있도록 백그라운드에서 실행 하고 싶습니다 .

하지만 오류 없이 실행되는지 확인하려면 출력을 확인해야 하기 때문에 git push실제 배경( )에서 실행하고 싶지 않습니다 .git push &

백그라운드 프로세스처럼 실행하면서도 출력을 계속 볼 수 있는 올바른 방법은 무엇입니까?

제가 전달한 가장 좋은 점은 다음과 같습니다.

xterm -hold -e 'git push' &

하지만 이것은 제가 가장 많이 사용하는 애플리케이션인 Gnome Terminal이 아닌 XTerm을 사용합니다. 이는 다소 일관성이 없습니다.

다른 어떤 옵션이 있나요?

답변1

실시간으로 출력을 볼 필요가 없으면 다음을 수행할 수 있습니다.

git push 2>&1 > ~/git-push-$(date +"%Y%m%d-%H%M").log &

위 코드는 호출한 날짜와 시간이 포함된 파일 이름을 사용하여 홈 디렉터리에 파일을 생성합니다(예: git-push-20160208-1201.log). 이를 다시 입력할 필요가 없도록 별칭이나 셸 함수에 넣을 수 있습니다. 또는 검토를 위해 마지막 푸시를 유지해야 하는 경우 다음을 사용할 수 있습니다.

git push 2>&1 > ~/git-push.log &

다음 명령 중 하나를 사용하여 푸시가 실패하면 자신에게 알림을 보낼 수도 있습니다.

git push 2>&1 > ~/git-push.log || notify-send "Push failed" "git push initiated from $(pwd) at $(date) threw an error!" &

답변2

git push 2>&1 &

"2>&1"은 모든 출력을 표준 출력으로 리디렉션합니다.

관련 정보