xvfb-run で実行すると stderr が取れない。
/usr/bin/xvfb-run を使えば楽ができる。 Xvfb を起動してDISPLAY変数をセットして、DISPLAY変数を渡して別途起動する、というプロセス管理をぱぱっとやってくれるシェルスクリプトです。
しかしstderr が取れない。
実行時に、このようにしてもstderr を捨てることが出来ない。
/usr/bin/xvfb-run /usr/bin/node chrome-cdp-sample.js 2>/dev/null
/usr/bin/xvfb-run が 2>&1 してた。
/usr/bin/xvfb-run:180行付近で渡されたコマンドをXvfb経由で実行されているのですが
# Start the command and save its exit status. set +e DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 RETVAL=$? set -e
なんと、2>&1 してます。まじかよ。
これを、こう
# Start the command and save its exit status. set +e DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" #DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 RETVAL=$? set -e
こうすれば、stderr を取れますね。 なんでこんな事になってるんだろう。意味があるんだろうけど、想像がつかない。