veyron/services/mgmt/node/impl: use exec in the node manager wrapper script
The script wrapping the node manager invocation has no other purpose than to
start the node manager with the right env and args. Using exec ensures that we
won't have a parent process (the shell script) in the way. This helps ensure
that the node manager process gets the signals sent to it, e.g. by the agent
(which is now the case following http://go/vcl/7680).
Change-Id: I7d7e9f3e8006cfd42f0cd94a95eab544626d8d9d
diff --git a/services/mgmt/node/impl/node_service.go b/services/mgmt/node/impl/node_service.go
index ebb604f..380a3f0 100644
--- a/services/mgmt/node/impl/node_service.go
+++ b/services/mgmt/node/impl/node_service.go
@@ -292,7 +292,7 @@
//
// TODO(caprita/rthellend): expose and use shellEscape (from
// veyron/tools/debug/impl.go) instead.
- output += fmt.Sprintf("%q", filepath.Join(workspace, "noded")) + " "
+ output += fmt.Sprintf("exec %q", filepath.Join(workspace, "noded")) + " "
output += strings.Join(envelope.Args, " ")
output += "\n"
path = filepath.Join(workspace, "noded.sh")