From ef874ed6ceb808db96718def4e8c9621497c0c11 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 17 Oct 2026 00:55:52 +0900 Subject: [PATCH] all: set /proc/self/comm to the program name in the single binary 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