Есть несколько вариантов, вывод ps aux
можно отсортировать по названию терминала и pid. Это даст вам список всех дочерних процессов каждого экрана, но не будет четко связывать (pts/N) каждый экран с процессами внутри него:
например
$ ps aux | sort -k7.2r |
grep -Ei 'pts|java|screen' |
awk '{ printf "%10s %6s %6s %6s %s\n", $1, $2, $7, $9, $11}'
jaroslav 30700 tty3 Apr07 screen
root 4933 ? Mar16 SCREEN
jaroslav 5024 ? Mar12 SCREEN
root 3811 ? Apr07 sshd:
jaroslav 3716 ? Apr07 SCREEN
jaroslav 11996 ? Apr05 SCREEN
jaroslav 11139 ? Apr05 sshd:
root 4934 pts/8 Mar16 -/bin/bash
root 3819 pts/6 Apr07 -bash
jaroslav 3718 pts/5 Apr07 -/bin/bash
jaroslav 3810 pts/5 Apr07 ssh
jaroslav 11998 pts/2 Apr05 -/bin/bash
jaroslav 11140 pts/1 Apr05 -bash
jaroslav 12594 pts/1 13:52 sort
jaroslav 12595 pts/1 13:52 grep
jaroslav 12596 pts/1 13:52 awk
jaroslav 12593 pts/1 13:52 ps
jaroslav 5041 pts/0 Mar12 /bin/bash
jaroslav 5076 pts/0 Mar12 /usr/lib/jvm//sun-jdk-1.6/bin/
Кроме того, вы можете запустить pstree
на каждом экране, чтобы перечислить их детей. Это, наверное, то, что вы ищете.
$ echo $(pidof screen;pidof SCREEN)| tr ' ' \\n |
xargs -L1 pstree -lanu
creen,jaroslav -dR serv
screen,jaroslav -dR java3
`-bash
`-java -cp /home/jaroslav/src/java/ TestUlimit
`-11*[{java}]
screen,jaroslav -dR java2
`-bash
`-java -cp /home/jaroslav/src/java/ TestUlimit
`-11*[{java}]
screen,jaroslav -dR java1
`-bash
`-java -cp /home/jaroslav/src/java/ TestUlimit
`-11*[{java}]
screen,jaroslav -dR serv
`-bash
screen,jaroslav -dmS nailgun /home/jaroslav/bin/nailgun
`-nailgun /home/jaroslav/bin/nailgun
`-java -server -jar /usr/share/nailgun/lib/nailgun.jar localhost:64781
`-16*[{java}]
screen -dR emr
`-bash
screen,jaroslav -dR gdb
`-bash
`-ssh l00
Или найдите родителей каждого процесса Java.
$ for i in `pidof java`; do pstree -sp $i ;done | grep -v '^ '
init(1)---screen(13097)---bash(13099)---java(13943)-+-{java}(13947)
init(1)---screen(13004)---bash(13006)---java(13927)-+-{java}(13931)
init(1)---screen(12911)---bash(12913)---java(13911)-+-{java}(13915)
init(1)---screen(5024)---nailgun(5041)---java(5076)-+-{java}(5095)