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
--
The key to getting good answers is to ask good questions.