Bieži vien, strādājot ar zibatmiņas diskiem, diskiem, attēliem, parādās kļūda ierīce vai resurss aizņemts. Tā var parādīties, kad mēģināt atvienot ārējo disku vai nodalījumu vai kad mēģināt pārvietot vai dzēst failu. Šajā rakstā mēs aplūkosim, kāpēc šī kļūda var rasties, kā arī tās novēršanas veidus.
Šis ziņojums nozīmē, ka ierīce vai resurss ir aizņemts. Ja paskaidrojat sīkāk - failu, kuru mēģināt dzēst, vai disku, kuru nepieciešams atvienot, joprojām izmanto kāda no darbojošām programmām. Tas varētu būt tāpēc, ka programma vēl nav pabeigusi savu darbu, ir iesaldējusies vai tās darba procesā ir radušās kādas problēmas.
Kļūda var rasties, mēģinot veikt darbību ar failu, kuru jau izmanto cits process vai programma. Bieži vien problēma ir saistīta ar atvērtu failu, bloķētu ierīci, tīkla savienojumu. Ja tiek izmantots zibatmiņas disks, to var vienkārši izņemt no datora, taču tas nav risinājums, jo pastāv liela varbūtība, ka var tikt zaudēti nesaglabātie dati. Ir veidi, kā apiet šo problēmu.
Vispirms ir jāaizver programmas, kas, iespējams, izmanto failu vai kādu no failiem noņemamajā datu nesējā. Ja tiek atskaņots kāds no video failiem, ir jāaizver atskaņotājs. Un tikai pēc tam mēģiniet atkal veikt darbības.
Ja nezināt, kura programma traucē veikt kādu darbību, to var ļoti viegli noskaidrot, izmantojot komandu lsof. Vienkārši palaidiet to un izsijājiet tikai tos ierakstus, kas attiecas uz jūsu datu nesēja pievienošanas punktu:
lsof | grep /media/sergiy/83AE-2346
Jūs varat arī atsijāt vajadzīgos procesus pašā programmā, izmantojot opciju +D, tas ir vēl labāk, jo tā nerādīs sistēmas pakalpojumus, bet tikai to programmu, kas jums jāizbeidz:
lsof +D /media/sergiy/83AE-2346
Šādā veidā jūs redzēsiet visus procesus, kas izmanto mūsu datu nesējā esošos failus, un varēsiet tos pārtraukt ar komandu kill. Mūsu gadījumā mums ir jāizbeidz totem atskaņotājs ar PID 5616:
$ kill -TERM 5616
Kā redzēt, kuri procesi izmanto failu? Izmantojiet komandu fuser:
fuser -vm /home/sergiy/83AE-2346
Jūs redzēsiet visu nepieciešamo informāciju: tiks parādīts lietotājs, kura vārdā process darbojas. Tādā pašā veidā varat to aizvērt:
Ja esat aizvēris visas programmas, bet tas nav palīdzējis, varat mēģināt iztīrīt sistēmas failu kešatmiņu ar šādu komandu:
sync && echo 2 > /proc/sys/vm/drop_caches
Tas pagaidām ir viss.