codeskyblue / gosuv

Deprecated!!! Process managerment writtern by golang, inspired by python-supervisor
MIT License
646 stars 181 forks source link

如果 shell 中使用 exec 会导到日志不能被重定向 #59

Open maxid opened 6 years ago

maxid commented 6 years ago

如程序启动脚本 start.sh 内容如下

#!/bin/sh
echo "test"
exec /bin/some/exe "$@"

gosuv调用的脚本 gosuv-lancher.sh 如下

#!/bin/sh
nohup ./start.sh xxx > server.log

这样本应该输出到 server.log 的日志就会因为start.sh 里的 exec 被 gosuv 拦截输出到 gosuv 自己的程序日志中

image

codeskyblue commented 6 years ago

是的,gosuv当初的设计就是这样的。如果像重定向到别的地方,可以不用exec,改成

/bin/some/exe &>somelog.txt