Может кто-нибудь объяснить это странное поведение ПП?

Два вопроса:

  1. pf -fU <user> не показывает конкретные пользовательские процессы, а ps -ef | grep <user> ps -ef | grep <user> или ps aux can.

  2. pstree -p <pid> , где pid – это тот конкретный процесс, о котором я говорил выше, может давать выходные данные дочерних процессов, а ps -ef | grep <childpid> ps -ef | grep <childpid> не показывает.

И это поведение наблюдается только для процессов, связанных с этой конкретной службой sge, которая была запущена с использованием служебной команды, а не для каких-либо других процессов.

 [root@myserver ~]# ps -fU sgeadmin UID PID PPID C STIME TTY TIME CMD [root@myserver ~]# ps -ef | grep sgeadmin sgeadmin 1754 1 0 Jan21 ? 00:16:36 /ge2011.11/bin/linux-x64/sge_execd root 4097 3982 0 18:52 pts/0 00:00:00 grep sgeadmin sgeadmin 27248 1 0 16:59 ? 00:00:03 /ge2011.11/bin/linux-x64/sge_qmaster [root@myserver ~]# pstree -paA 27248 sge_qmaster,27248 |-{sge_qmaster},27255 |-{sge_qmaster},27256 |-{sge_qmaster},27257 |-{sge_qmaster},27258 |-{sge_qmaster},27263 |-{sge_qmaster},27264 |-{sge_qmaster},27265 |-{sge_qmaster},27266 |-{sge_qmaster},27267 |-{sge_qmaster},27268 |-{sge_qmaster},27269 `-{sge_qmaster},27289 [root@myserver ~]# ps -ef | grep -E '27255|27256|27257|27258|27263|27264|27265|27266|27267|27268|27269|27289' root 4274 3982 0 18:53 pts/0 00:00:00 grep -E 27255|27256|27257|27258|27263|27264|27265|27266|27267|27268|27269|27289 [root@myserver ~]# 

Поэтому я попытался запустить другие процессы, и он работает:

 myserver @ /homes/sgeadmin : sleep 1000 & [1] 4528 myserver @ /homes/sgeadmin : ps -fU sgeadmin UID PID PPID C STIME TTY TIME CMD sgeadmin 4482 4481 0 18:57 pts/0 00:00:00 -tcsh sgeadmin 4528 4482 0 18:57 pts/0 00:00:00 sleep 1000 sgeadmin 4529 4482 0 18:57 pts/0 00:00:00 ps -fU sgeadmin myserver @ /homes/sgeadmin : exit logout [root@myserver ~]# ps -fU sgeadmin UID PID PPID C STIME TTY TIME CMD sgeadmin 4528 1 0 18:57 pts/0 00:00:00 sleep 1000 [root@myserver ~]# 

Изменить 1:

Хорошо, ps -fu <username> дает вывод. Кажется, что разница в реальном идентификаторе пользователя и эффективном пользователе . Да, root – настоящий пользователь в этом случае.

Но какое-либо объяснение по второму вопросу? pstree показывает дочерние процессы, а ps -ef – нет?

Изменить 2:

Хорошо, это как-то связано с TGID.

Linux и Unix - лучшая ОС в мире.