Incorrect command string passed to process manager
timfallmk opened this issue · comments
When spawning the child process, the cmd
that's reported to the system (accessible via ps
and top
etc.) truncates the process name.
For example:
A child process that's command --flag verb
is reported as --flag verb
ps -p <pid>
PID TTY TIME CMD
6483 ?? 0:01.78 --flag verb
@timfallmk It can be caused by an incorrect Context.Args
value. A value of Context.Args
field is passed to os.StartProcess
without any modifications exclude a case when the value is nil. Please see os.StartProcess, os.Args for the reference.
Could you provide the code and info about OS and environment (go env && uname -a
).
Go env:
go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/timfall/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/timfall/Code/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/rs/97ytdh4946n_7g59d2x8jh2h0000gn/T/go-build122390918=/tmp/go-build -gno-record-gcc-switches -fno-common"
Darwin 17.5.0 Darwin Kernel Version 17.5.0: Sun Feb 11 23:54:24 PST 2018; root:xnu-4570.50.279~25/RELEASE_X86_64 x86_64
If the expected behavior is as you outlined, then this is a bug.
I checked it on examples/gd-simple and i can't reproduce the bug.
➜ examples git:(master) ✗ gd-simple
➜ examples git:(master) ✗ ps -eafwA | grep sample
501 38137 1 0 11:24 ?? 0:00.01 [go-daemon sample]
When i comment line no 23 of the code:
➜ examples git:(master) ✗ gd-simple
➜ examples git:(master) ✗ ps -eafwA | grep gd-simple
501 37910 1 0 11:22 ?? 0:00.01 gd-simple
➜ examples git:(master) ✗ kill `cat pid`
➜ examples git:(master) ✗ gd-simple -a -b
➜ examples git:(master) ✗ ps -eafwA | grep gd-simple
501 37999 1 0 11:23 ?? 0:00.01 gd-simple -a -b
Could you provide a reduced example of code and steps to reproduce the bug. Thank you.