clepto έγραψε:αν είναι mounted το έχω βρει...θέλω να δω αν κάποιο απο τα αρχεία του χρησιμοποιείται ώστε αν χρησιμοποιείται να μην μπορώ να αποπροσαρτήσω το partition
όπως κάνεις με το mount και το subprocess κάνε και με το lsof
απλά στην lsof βάλε το mount point(αν πρόκειτε για ολάκερο δίσκο που έκανες mount) η το partition για παράμετρο
πχ
- Κώδικας: Επιλογή όλων
lsof /media/MyDisk
ή
lsof /dev/sda6
αν δεν σου βγάλει κάποιο κείμενο (δηλαδή τίποτα )
τότε κανένα αρχείο δεν χρησιμοποείται απο το δίσκο η από το partition
αλλιώς
κάποιο αρχείο θα χρησιμοποείται απο το δίσκο η από το partition
και θα σου βγάλει κείμενο αυτής της μορφής
- Κώδικας: Επιλογή όλων
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
totem 3992 sokoban cwd DIR 8,1 0 19494 /media/DISK
totem 3992 sokoban 23u REG 8,1 3356606 19495 /media/DISK/song.ogg
Δηλαδή με Python
- Κώδικας: Επιλογή όλων
import subprocess
DiskPathOrPartitionPath = "/media/DISK"
Cmd = "lsof"
lsof = subprocess.Popen( [ Cmd , DiskPathOrPartitionPath ],stdout = subprocess.PIPE)
lsofResult = lsof.communicate()[0]
if len(lsofResult) == 0 :
DiskIsBusy = False
else:
DiskIsBusy = True
if DiskIsBusy:
#foo
else:
#bar
Ελπίζω να βοήθησα
pmav99 έγραψε:Διόρθωσε με αν κάνω λάθος, αλλά σε ένα mounted partition με ανοικτά αρχεία, δε θα αποτύχει το umount? Αν ναι, με ένα try except κάνεις τη δουλειά σου.
Kαλή ιδέα
αλλά έτσι αναγκαστικά θα κάνει umount το partition...
και υπάρχει η περίπτωση που θέλει μονάχα να δει αν χρησιμοποιούνται ή όχι αρχεία απο το partition





