起動済みバックグランドプロセスの標準出力を見るワンライナー
Linux
gdb -p 32514 -batch -n -x =( echo -e "p (int)dup2((int)open(\"/proc/$$/fd/1\", 1), 1)" )
.zshrc にこんなん書いといた (stdout, stderr をどちらも現在見てるシェルでみえるようにする)
function snatch () {
gdb -p $1 -batch -n -x =( echo -e "p (int)open(\"/proc/$$/fd/1\", 1)\np (int)dup2(\$1, 1)\np (int)dup2(\$1, 2)" )
}
うまくいかない場合がある。なんでだろう……
うまくいかないときはとりえあえず strace -p pid -ewrite