I have a script which does ps -o comm= -p $PPID.The explanation says this gets the parent process name.From the man page I found out -o means user defined format, comm means command and -p means select the process by the given PID - in this case $PPID, which means parent PID.What does comm= -p $PPID mean?How does this command work?
PS: what does ps -o comm= -p $PPID do
linux;bash;ps;bashrc
-o comm= means user output should be the command name only, but without any column title. E.g. if you do -o comm=COMMAND, it will print you a column title COMMAND:$ ps -o comm= -p $PPIDxterm$ ps -o comm=COMMAND -p $PPIDCOMMANDxterm-p $PPID selects the process by the given parent's PID, the PPID.That means -o comm= -p $PPID are two independent options.So your command essentially does give you the name of the parent process by it's PPID.E.g. if I start tmux, it has the PID of 1632. Now I start several bash in each pane, which each have the PPID of 1632, but have their own PID.Learn here more abut PID and PPIDs.I am not sure, but ps might look at /proc/$PPID/comm to determine the parent's command name.In my case, executing this command gives you the name of the parent's process, without using ps:$ cat /proc/$PPID/commtmux$ cat /proc/1632/commtmux