On 11/21/19 7:52 AM, home user wrote:
if ! pidof ksysguard > /dev/null ; then ...
Thank-you Patrick. I studied the man page for pidof. As I understand it, it implies that pidof does not work across login names; user2 cannot see user1's processes:
[from the description of option "-c"] This option is ignored for non-root users, as they will be unable to check the current root directory of processes they do not own.
So this will not work.
[egreshko@meimei ~]$ whoami egreshko
[egreshko@meimei ~]$ pidof kwrite 22679
[egreshko@meimei ~]$ ps -eaf | grep 22679 maria 22679 22630 0 07:55 pts/1 00:00:00 kwrite
You misunderstand the meaning of -c. It has to do with the directory when the command was started. In order to determine that, a process must be able to known what /proc/$PID/cwd is.
For a "maria" process
[egreshko@meimei 22679]$ pwd /proc/22679
[egreshko@meimei 22679]$ ll cwd ls: cannot read symbolic link 'cwd': Permission denied lrwxrwxrwx. 1 maria maria 0 Nov 21 07:55 cwd
Conversely, for one of "egreshko" processes....
[egreshko@meimei 22833]$ pwd /proc/22833 [egreshko@meimei 22833]$ ll cwd lrwxrwxrwx. 1 egreshko egreshko 0 Nov 21 08:01 cwd -> /home/egreshko