Föra logg över mappars tillstånd
Re: Föra logg över mappars tillstånd
Inte om du kör en dos eller unix-promt, då öppnas inga mappar, det som fil-explorern i grafisk miljö gör med animeringar och hela bidevippen är något som är påsmetat i efterhand och har inget med själva filhanteringen att göra.
Dom flesta filsystem är i grunden designade när man fortfarande körde i konsol/terminal utan grafisk bjäffs och har ingen alls support eller ens kännedom att komma ihåg och spara status om någon tittar och öppnar i en mapp eller inte.
Och tänker man ett steg vidare så skulle det inte vara bra i alla lägen då vissa mappar skulle vara 'öppna' jämt, från när datorn startar tills den stänger av. Kör man lsof i linux så ser man det är hundratal med filer som är öppna hela tiden och samma sak under XP, win-7 etc.
Unix införde den hierarkiska presentationen av filsystemet med underdirektorys etc. i en rotstruktur vilket gjorde att med lite struktur så behövde det inte bli så många filer per direktory om man ville och systemet kunde svälja väldigt många filer (idag ligger man på många miljoner filer i ett större filsystem), och den som kört en CP/M med platta filsystem uppskattar hierakiska filsystem enormt då redan vid 50-100 filer så börja det bli oöversiktligt och det fanns ingenstans att göra av dessa mer än att flytta dessa till en annan 'användare' och tom direktory (det här att göra en temporär direktory för att packa upp en zipfil med en massa filer, fans inte på kartan utan de uppackade filerna blandade sig (och kanske skrev över) med alla andra 'skarpa' filer på kontot) - och en typisk sådan system hade 16 eller 32 användare, sedan var det fullt...
Dom flesta filsystem är i grunden designade när man fortfarande körde i konsol/terminal utan grafisk bjäffs och har ingen alls support eller ens kännedom att komma ihåg och spara status om någon tittar och öppnar i en mapp eller inte.
Och tänker man ett steg vidare så skulle det inte vara bra i alla lägen då vissa mappar skulle vara 'öppna' jämt, från när datorn startar tills den stänger av. Kör man lsof i linux så ser man det är hundratal med filer som är öppna hela tiden och samma sak under XP, win-7 etc.
Unix införde den hierarkiska presentationen av filsystemet med underdirektorys etc. i en rotstruktur vilket gjorde att med lite struktur så behövde det inte bli så många filer per direktory om man ville och systemet kunde svälja väldigt många filer (idag ligger man på många miljoner filer i ett större filsystem), och den som kört en CP/M med platta filsystem uppskattar hierakiska filsystem enormt då redan vid 50-100 filer så börja det bli oöversiktligt och det fanns ingenstans att göra av dessa mer än att flytta dessa till en annan 'användare' och tom direktory (det här att göra en temporär direktory för att packa upp en zipfil med en massa filer, fans inte på kartan utan de uppackade filerna blandade sig (och kanske skrev över) med alla andra 'skarpa' filer på kontot) - och en typisk sådan system hade 16 eller 32 användare, sedan var det fullt...
Senast redigerad av xxargs 13 april 2016, 20:33:28, redigerad totalt 2 gånger.
Re: Föra logg över mappars tillstånd
Ja i det grafiska gränssnittet, men det är ju bara en viretuell bild hur det kan se ut.MEN, talar vi användarspråk så nog fan "öppnar" man en mapp, eller "öppnar" en fil.
För användaren ser det ut som mappen öppnats, men inte för systemet.
Även dos-unix prompten är ju ett grafiskt gränssnitt, även om det bara är text och inga roliga symboler.
Väldigt intressanta saker händer om man ändrar filattributen på en mapp-fil till att vara en data-fil och vice verca.
-
- Inlägg: 1394
- Blev medlem: 29 januari 2011, 21:06:30
- Ort: Lapplandet
Re: Föra logg över mappars tillstånd
Om du berättar lite mer om vad syftet med loggningen ska vara så kanske det går att lösa på ett annat sätt.
Re: Föra logg över mappars tillstånd
Sidospår förvisso, men jag skulle VERKLIGEN vilja ha lsof till windows.xxargs skrev: Om det finns motsvarande 'enkla' API som 'lsof' i windows vet jag inte,
Det är ju mer eller mindre standard att man stoppar in ett USB-minne eller en USB-disk öppnar/kopierar filen man ska ha och stänger sedan programmet och sen ska man avmontera den för att ta med den, då påstår windows att "en fil är öppen", och man kan typ stänga ner ALLT och windows fortsätter likförbannat att påstå samma sak.
hade varit väldigt intressant att veta vilken fil det är då, i *ix så skriver man ju som sagt lsof och har svaret.
..Nån borde ju ha haft samma problem och löst det tycker man, så det BORDE ju finnas iaf från tredjepart.
Re: Föra logg över mappars tillstånd
Finns ju redan för windows, heter Process Explorer https://technet.microsoft.com/en-us/sys ... lorer.aspx
- Jan Almqvist
- Inlägg: 1580
- Blev medlem: 1 oktober 2013, 20:48:26
- Ort: Orust
Re: Föra logg över mappars tillstånd
Om du menar meddelandet "Kan inte stoppa enheten" eller vad det nu står så tror jag det ofta beror på klippbordet. Om man markerar valfri fil på c: och gör Kopiera så brukar det gå bra att "avmontera" enheten sedan.Glenn skrev: Det är ju mer eller mindre standard att man stoppar in ett USB-minne eller en USB-disk öppnar/kopierar filen man ska ha och stänger sedan programmet och sen ska man avmontera den för att ta med den, då påstår windows att "en fil är öppen", och man kan typ stänga ner ALLT och windows fortsätter likförbannat att påstå samma sak.
- Retroperra
- Inlägg: 728
- Blev medlem: 8 juli 2012, 14:34:12
- Ort: Sundsvall
- Kontakt:
Re: Föra logg över mappars tillstånd
Sidosvar på sidospåret:
"Sidospår förvisso, men jag skulle VERKLIGEN vilja ha lsof till windows."
http://techworld.idg.se/2.2524/1.654414 ... windows-10
"Sidospår förvisso, men jag skulle VERKLIGEN vilja ha lsof till windows."
http://techworld.idg.se/2.2524/1.654414 ... windows-10
-
- Inlägg: 7779
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Föra logg över mappars tillstånd
Kanske du kan hitta någon metod här. Det måste väl gå att få info om allt som händer i datorn via API, (tror jag).
Re: Föra logg över mappars tillstånd
Om du menar öppen i användergränssnittet så får du nog ta en promenad i listan över öppna rotfönster och se om namnet på "din" mapp ingår, och kolla om det är utforskaren (explorer.exe) som öppnat det fönstret. Då är mappen "öppen"...
Re: Föra logg över mappars tillstånd
Kan lika väl vara "öppen" i valfritt programs open/save dialogbox.
Re: Föra logg över mappars tillstånd
Öppnad/stängd mapp i någon program/filhanterare är en lokal 'event' som är grafiskt animerad i aktuella programmet, och som inte på något sätt speglas ända ned till filsystemet i sig.
Därför går det inte på centralt sätt se om någon kikar i en mapp (dvs. öppnad 'mapp') eller inte då begreppet 'öppnad mapp' finns inte i filsystemet överhuvudtaget utan är en presentationspåhitt av filhanteraren.
Det gör också att en 'öppnad mapp' i ett program inte på något sätt gör att mappen visas öppnad i ett annat program som visar samma mapp samtidigt, utan de behandlas helt oberoende av varandra utan koppling mellan dessa.
Enda sättet är med motsvarande funktion som 'lsof' är att se om filer är öppnad och av pathen till filen kan avgöra om 'mappen' är aktiv eller inte. Detta förutsätter också att programmet/användaren i fråga håller filen öppen hela tiden och inte bara öppnar och därefter stänger omedelbart efteråt i just momentet vid inläsning och skrivning.
Därför går det inte på centralt sätt se om någon kikar i en mapp (dvs. öppnad 'mapp') eller inte då begreppet 'öppnad mapp' finns inte i filsystemet överhuvudtaget utan är en presentationspåhitt av filhanteraren.
Det gör också att en 'öppnad mapp' i ett program inte på något sätt gör att mappen visas öppnad i ett annat program som visar samma mapp samtidigt, utan de behandlas helt oberoende av varandra utan koppling mellan dessa.
Enda sättet är med motsvarande funktion som 'lsof' är att se om filer är öppnad och av pathen till filen kan avgöra om 'mappen' är aktiv eller inte. Detta förutsätter också att programmet/användaren i fråga håller filen öppen hela tiden och inte bara öppnar och därefter stänger omedelbart efteråt i just momentet vid inläsning och skrivning.
Re: Föra logg över mappars tillstånd
Men hur gör utforskaren i Windows för att automagiskt uppdatera fönstren när det hänt nåt?
Kan det vara så att man faktiskt kan ta en promenad längs lista över vilka filsystemobjekt som det ligger en notifiering på och hitta de fall där explorer.exe begärt notifiering på olika kataloger? I så fall torde det faktiskt ge en lista över "öppna" mappar.
Fast det förutsätter förstås att explorer.exe använder någon slags notifieringar istället för att ideligen polla.
Kan det vara så att man faktiskt kan ta en promenad längs lista över vilka filsystemobjekt som det ligger en notifiering på och hitta de fall där explorer.exe begärt notifiering på olika kataloger? I så fall torde det faktiskt ge en lista över "öppna" mappar.
Fast det förutsätter förstås att explorer.exe använder någon slags notifieringar istället för att ideligen polla.