From: Yu Watanabe <[email protected]>
When built with --enable-single-binary=symlinks, the process name
(comm) previously contained the path component. Use prog_name instead of
argv[0] to set the correct process name without the path.
Before:
$ src/sleep 10000 &
[1] 601333
$ cat /proc/601333/comm
src/sleep
After:
$ src/sleep 10000 &
[1] 618100
$ cat /proc/618100/comm
sleep
* src/coreutils.c (launch_program): Use the program name instead of
argv[0] when calling prctl (PR_SET_NAME, ...).
Link: https://github.com/coreutils/coreutils/pull/382
---
src/coreutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/coreutils.c b/src/coreutils.c
index 180bfd9ce..ab52ba17b 100644
--- a/src/coreutils.c
+++ b/src/coreutils.c
@@ -114,7 +114,7 @@ launch_program (char const *prog_name, int prog_argc, char
**prog_argv)
#if HAVE_PRCTL && defined PR_SET_NAME
/* Not being able to set the program name is not a fatal error. */
- prctl (PR_SET_NAME, prog_argv[0]);
+ prctl (PR_SET_NAME, prog_name);
#endif
#if HAVE_PRCTL && defined PR_SET_MM_ARG_START
/* Shift the beginning of the command line to prog_argv[0] (if set) so
--
2.56.0