Hartmut2 schrieb:
Frage2: ist es möglich abzufragen, wieviele Datei-Handles ein bestimmtes Programm zur Zeit geöffnet hat?
Beispiel mit X, dem XServer, pgrep gibt die PID aus, xargs setzt sie ein im proc Verzeichnis:
pgrep X | sudo ls -l /proc/$(xargs)/fd/ | sed '1,1d' | wc -l
Wenn es keine Bash ist, die C-Shell mag Bashism nicht:
pgrep X | sudo ls -l /proc/`xargs`/fd/ | sed '1,1d' | wc -l
So lässt sich besipielsweise anschauen worauf der XServer zugreift:
pgrep X | sudo ls -l /proc/$(xargs)/fd/ | sed '1,1d' | awk '{ print $NF }'
pipe:[14844]
pipe:[14845]
socket:[16545]
socket:[15010]
/proc/mtrr
/proc/mtrr
/dev/tty1
/dev/nvidiactl
pipe:[14843]
socket:[20654]
/dev/vga_arbiter
/dev/nvidia0
pipe:[14846]
/dev/nvidia0
/dev/nvidia0
/dev/nvidia-modeset
socket:[16574]
/dev/dri/renderD128
socket:[16575]
/dev/nvidia0
/dev/nvidia0
socket:[16576]
(deleted)
anon_inode:[eventpoll]
/dev/nvidia0
/dev/nvidia0
/dev/nvidia0
/dev/nvidiactl
/dev/nvidia-modeset
/dev/nvidia0
/dev/nvidia0
pipe:[15977]
/dev/dri/renderD128
pipe:[15977]
pipe:[16542]
pipe:[15978]
pipe:[15978]
anon_inode:[eventpoll]
anon_inode:[eventpoll]
anon_inode:[timerfd]
/dev/input/event1
/dev/input/event0
/dev/input/event2
socket:[17207]
/dev/input/event4
pipe:[16542]
/dev/input/event5
/dev/input/event6
socket:[16244]
socket:[16221]
socket:[16223]
socket:[18590]
socket:[16228]
socket:[18642]
socket:[17001]
socket:[17002]
/var/log/Xorg.0.log
socket:[16272]
socket:[18206]
socket:[74956]
socket:[17048]
socket:[17050]
socket:[17054]
socket:[18699]
socket:[18374]
socket:[18376]
socket:[18380]
socket:[16543]
socket:[18884]
socket:[33955]
socket:[36120]
socket:[17301]
socket:[59458]
socket:[19027]
socket:[16544]
socket:[17494]