Hallo,
Nach einem Kurzüberblick verstehe ich es so: Ich kriege den
Prozess raus, der Files offen hält. Den kann ich dann beenden,
die Files sind dann nicht mehr offen und ich kann unmounten.
Right?
Ja. fuser kann die Prozesse auch direkt killen
Im Normalfall zeigt ein
/sbin/fuser -vum /dir/
genügend Info.
Oder direkt -k um die Prozesse von fuser killen zu lassen.
NFS hat da so seine Tücken.
(
Danke, sehr aufmunternd 
Naja, um ehrlich zu sein hatte ich gehofft, daß Du mir zeigst, wie das funzt 
Ich habe auf meinem Zweitrechner auch ein CD-ROM per NFS freigegeben.
Ich mounte dieses auf dem „Server“ lokal und anschließend auf dem Client per NFS. Soweit so gut. Nach einem anschließenden umount auf dem Client, will ich dann im Server die CD wechseln…aber nein, er will nicht.
Also:
[root@pico:/mnt]# /sbin/fuser -vu /mnt/cdrom/
USER PID ACCESS COMMAND
/mnt/cdrom/ root kernel mount /mnt/cdrom
Tja…das kann ich jawohl schlecht killen.
Ich versuchs trotzdem:
[root@pico:/mnt]# /sbin/fuser -vuk /mnt/cdrom/
USER PID ACCESS COMMAND
/mnt/cdrom/ root kernel mount /mnt/cdrom
No automatic removal. Please use umount /mnt/cdrom
Häh? Darf ich doch nicht…
[root@pico:/mnt]# umount /mnt/cdrom/
umount: /mnt/cdrom: Das Gerät ist in Gebrauch.
Soso…
Bei mir hilft aber immer ein Serverseitiger Restart des nfs:
[root@pico:/mnt]# /etc/init.d/nfs restart
Restarting NFS services: rpc.mountd [OK]
[root@pico:/mnt]# umount /mnt/cdrom/
[root@pico:/mnt]#
Was zugegebenermaßen Kacke ist, wenn Du noch mehr exports auf dem hast.
Es gibt bei fuser aber die Möglichkeit den namespace zu ändern :
fuser telnet/tcp shows all processes at the (local) TELNET port.
Ein /sbin/fuser nfs/udp sagt bei aber nichts. Vielleicht geht’s doch anders?
Naja…
Viel Erfolg
Andreas