Skip to content

[PR #2465] Show commandline name instead of shortened command line #2

@suparious

Description

@suparious

Migrated from Original PR

Original PR: dylanaraps#2465
Author: @waterkip
Branch: full-cmdline
Changes: +1/-1 lines


Original Description

/proc/pid/cmdline holds the complete command line for a process unlike /prod/pid/comm

The biggest difference when using cmdline vs comm is the following, when running an app via update-alternatives as done with Debian for example, you get the name x-terminal-emulator vs x-terminal-emul. Essentially, we want the full name of the process and not the shortened one.

This would allow for some more magic with which, readlink and basename that to get the actual name. However, readlink isn't available on all systems and some options aren't available on BSD systems. realpath might be used, but also that may not be available, which leaves us with implementing a bash only solution in case these do not exist. I've tried doing that with bash (via bats) in the past. Bats solved it doing it like this: bats-core/bats-core#312

An alternative way is to ls the file /proc/id/exe and look at where this symlink is pointing to and basename that:

$(basename ls -l /proc/2464281/exe | awk '{print $NF}')


This issue was automatically migrated from the archived dylanaraps/neofetch repository.
The code from the original PR can be cherry-picked or the author can submit a new PR to this fork.

Metadata

Metadata

Assignees

No one assigned

    Labels

    from-upstream-prMigrated from original dylanaraps/neofetch PRhas-codePR with code ready to review/merge

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions