콘솔에 오류를 표시하는 Upstart 스크립트가 있습니까?

콘솔에 오류를 표시하는 Upstart 스크립트가 있습니까?

프로세스를 실행하고 충돌이 발생하면 다시 생성하는 간단한 시작 스크립트가 있습니다. 문제는 충돌이 발생하는 경우 사용자에게 충돌이 발생했음을 알리고 싶다는 것입니다(다시 충돌을 방지하기 위해 조치를 취해야 할 수도 있기 때문입니다). 내 스크립트는 다음과 같습니다.

start on runlevel [2345]
stop on runlevel [016]

chdir /opt

respawn
respawn limit 5 10

exec /usr/bin/gulp --gulpfile ./lib/vendor/node/gulpfile.js 2>&1 > /var/log/gulp.log

표준 오류를 콘솔(2>&1)로 리디렉션하고 로그 파일을 표준 출력하는 것은 아닙니다. 로그 파일 리디렉션이 작동합니다. 그러나 콘솔에 대한 표준 오류는 그렇지 않습니다. 이 오류 리디렉션하다쉘에서 직접 명령을 실행하면 작동합니다.

지금까지 시도한 것: - 스크립트에 '콘솔 출력' 추가(출력을 /dev/console로 리디렉션한다고 가정함) - exec start-stop-daemon --start -c myuser --exec 명령 사용(그렇다고 생각함) /dev/console이 다른 곳을 가리키는 sudo를 사용하여 시작 작업을 실행합니다. **이 스크립트는 충돌만 발생하면 실행조차 되지 않습니다.

다른 아이디어가 있나요? 사용자를 위해 콘솔에 오류 출력을 넣어야 합니다.

답변1

생략 2>&1- 이는 실제로 stderr를 stdout으로 리디렉션합니다. stderr가 콘솔로 이동하기를 원합니다. 이는 stderr의 기본값입니다.

exec /usr/bin/gulp --gulpfile ./lib/vendor/node/gulpfile.js > /var/log/gulp.log

관련 정보