백그라운드에서 다음 명령을 실행하는 데 어려움을 겪고 있습니다.
find /dir -iregex ".*\.\(jpg\|jpeg\)" -exec jpegoptim --strip-all {} \; -exec sleep 1 \;
nohup
처음에 추가하려고 시도했지만 운이 없었습니다. 또한 &
마지막에 추가를 시도했지만 운이 없습니다. 의견 있으십니까?
답변1
질문에 따르면 스크립트 출력을 끄고 싶은 것 같나요? 이 시도:
nohup find /dir -iregex ".*\.\(jpg\|jpeg\)" -exec jpegoptim --strip-all {} \; -exec sleep 1 \; 0<&- >&- 2>&- &
중복 가능성이 있습니다. 자세한 내용은 다음을 참조하세요.https://stackoverflow.com/a/10908325/9008720
작업을 수행하기 위한 스크립트를 생성하는 것이 편리할 수 있습니다. 예를 들면 다음과 같습니다.
#!/bin/sh
nohup "$@" 0<&- >&- 2>&- &
다음에 make를 o
실행할 때 이를 호출하여 백그라운드에서 실행하도록 합니다.o some command script
some command script
편집하다:
최근에 or 를 >&- 2>&-
사용하면 일부 문제가 발생할 수 있으므로 더 나은 선택이 될 수 있다는 사실을 발견했습니다 . 가 포함된 쉘 스크립트 와 함께 사용하거나 을 포함하는 쉘 스크립트 와 함께 사용 하면 아무런 효과가 없지만 문제가 발생하지 않습니다. 또한, 출력이 완전히 꺼지는 것이 아니라 , 출력이 완전히 꺼지는 현상입니다 . 이러한 문제의 원인이 무엇인지 잘 모르겠습니다. 아마도 일부 프로그램은 stdout이나 stderr을 끈 상태에서 제대로 작동하지 않을 것이라고 생각했습니다.xsel
mpv
>/dev/null 2>&1
>&-
2>&-
xsel -ib
xsel -ib
xclip
>&- 2>&-
mpv
>/dev/null 2>&1
mpv