1
0
mirror of https://git.savannah.gnu.org/git/coreutils.git synced 2026-10-24 02:08:57 +03:00

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
This commit is contained in:
Yu Watanabe
2026-10-17 00:55:52 +09:00
committed by Collin Funk
parent e9381ce5c7
commit ef874ed6ce

View File

@@ -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