Föra logg över mappars tillstånd

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Föra logg över mappars tillstånd

Inlägg av xxargs »

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...
Senast redigerad av xxargs 13 april 2016, 20:33:28, redigerad totalt 2 gånger.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Föra logg över mappars tillstånd

Inlägg av TomasL »

MEN, talar vi användarspråk så nog fan "öppnar" man en mapp, eller "öppnar" en fil.
Ja i det grafiska gränssnittet, men det är ju bara en viretuell bild hur det kan se ut.
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.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Föra logg över mappars tillstånd

Inlägg av Mr Andersson »

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.
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Föra logg över mappars tillstånd

Inlägg av Glenn »

xxargs skrev: Om det finns motsvarande 'enkla' API som 'lsof' i windows vet jag inte,
Sidospår förvisso, men jag skulle VERKLIGEN vilja ha lsof till windows.

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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Föra logg över mappars tillstånd

Inlägg av TomasL »

Finns ju redan för windows, heter Process Explorer https://technet.microsoft.com/en-us/sys ... lorer.aspx
Användarvisningsbild
Jan Almqvist
Inlägg: 1580
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Föra logg över mappars tillstånd

Inlägg av Jan Almqvist »

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.
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.
Användarvisningsbild
Retroperra
Inlägg: 728
Blev medlem: 8 juli 2012, 14:34:12
Ort: Sundsvall
Kontakt:

Re: Föra logg över mappars tillstånd

Inlägg av Retroperra »

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
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Föra logg över mappars tillstånd

Inlägg av SeniorLemuren »

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). :)
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Föra logg över mappars tillstånd

Inlägg av MiaM »

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"...
ie
EF Sponsor
Inlägg: 1271
Blev medlem: 23 oktober 2006, 13:12:57
Ort: Tyresö

Re: Föra logg över mappars tillstånd

Inlägg av ie »

Kan lika väl vara "öppen" i valfritt programs open/save dialogbox.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Föra logg över mappars tillstånd

Inlägg av MiaM »

Då blir det väl krångligare...
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Föra logg över mappars tillstånd

Inlägg av xxargs »

Ö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.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: Föra logg över mappars tillstånd

Inlägg av MiaM »

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.
johano
Inlägg: 1943
Blev medlem: 22 januari 2008, 10:07:45
Ort: Stockholm

Re: Föra logg över mappars tillstånd

Inlägg av johano »

Skriv svar