Domanda:
Programma Windows per visualizzare quale programma sta utilizzando un file
Gibby
2014-02-05 09:31:43 UTC
view on stackexchange narkive permalink

Spesso, sui miei computer Windows, quando vado a eliminare o spostare directory o file, viene visualizzato un messaggio di errore che spiega che questa azione non può essere completata perché uno dei file è utilizzato da un altro programma.

C'è un programma che mi permette, per un dato file, di scoprire quale programma lo sta usando e di terminare quel programma?

Quando ho usato MS-Windows, ho scoperto che la maggior parte delle volte era Windows Explorer ad avere il blocco sul file. Ho trovato strano che Windows Explorer si descriva come un altro processo.
Qualcuno dovrebbe aggiungere una risposta per Resource Monitor, che può essere visualizzata facilmente tramite la scheda delle prestazioni del monitor delle attività (ovvero niente in più da installare). Ti consente di cercare un nome di file e trovare processi che hanno un blocco su di esso. Sto lavorando in questo momento e non ho tempo per dargli la risposta che merita.
Come mai tre delle risposte puntano agli strumenti Russinovich SysInternals e la quarta punta agli adware?
Ciao Gibby, se hai trovato utile una di queste risposte, contrassegnale come accettata controllando il segno di spunta accanto ad esse. Grazie!
Sei risposte:
#1
+82
Steve Barnes
2014-02-05 13:32:33 UTC
view on stackexchange narkive permalink

Uso regolarmente Process Explorer, (gratuito da Microsoft) , per fare esattamente ciò che chiedi puoi cercare quali programmi / attività stanno utilizzando un determinato file o directory e quindi terminare il programma o l'albero del programma. Puoi persino trovare una DLL che ha un determinato file bloccato e quindi trovare e terminare quei programmi che la stanno utilizzando.

Process Explorer Main Window

Ti dà anche un molte altre informazioni utili. System Information

Grazie mille, finalmente ucciso il file persistente ehmsas.txt. Funziona meravigliosamente, dovevo solo trovare il pulsante di ricerca (è l'icona del binocolo nella barra degli strumenti)
@David - Sono contento di aver aiutato questo è uno dei primi programmi che installo su una nuova macchina Windows.
@SteveBarnes, [Il confronto di Unlocker con ProcessExplorer (12 tick contro 5 tick)] (http://www.emptyloop.com/unlocker/) è giusto?
@Pacerier - Non proprio, anche se menziona che gli altri programmi come Process Explorer fanno molte altre cose che manca a) Puoi forzare lo scaricamento della DLL semplicemente uccidendo tutti i processi che utilizzano quella DLL, b) Puoi portare ogni programma che ha il tuo file aperto in primo piano prima di ucciderlo per assicurarti che sia sicuro da uccidere - nessun salvataggio mancante c) ** Non prenderei mai in considerazione l'idea di raccomandare / affidare a qualcosa noto per contenere malware / adware **
@SteveBarnes, Riguardo al * punto A *, "Dll ​​unload" significa la stessa cosa di "Force kill"? Inoltre, devi approfondire il * punto C *. Unlocker è un malware?
R: Non esattamente: se una DLL viene scaricata mentre uno o più programmi che la utilizzano sono ancora in esecuzione, verrà caricata oppure i programmi diventeranno instabili. C: Vedi la risposta di Winterbloods relativa allo sblocco ** installatore **.
#2
+29
Ken Herbert
2014-02-05 09:35:24 UTC
view on stackexchange narkive permalink

Prova Unlocker.

Crea una voce nel menu di scelta rapida dei file che ti mostrerà un elenco di processi che stanno accedendo al file, attraverso il quale puoi quindi scollega il processo (o, se necessario, uccidilo completamente).

Uso regolarmente Unlocker per aiutarmi a espellere in sicurezza le unità USB a cui piace tenere le maniglie aperte e il più delle volte mi aiuta. L'unico svantaggio che ho riscontrato (e questo potrebbe non essere un problema con Unlocker stesso, ma con i programmi che tengono aperte le maniglie) è che la maggior parte delle volte semplicemente scollegare il processo non funziona e devo ucciderlo completamente. / p>

Sebbene ci siano molti altri programmi completi di funzionalità che possono eseguire le stesse funzionalità di Unlocker, allo scopo di rilasciare gli handle di file questo è quello che ho trovato più veloce e funziona in modo più coerente.

Nota : tieni presente che Unlocker contiene potenzialmente dannoso adware nel processo di installazione e utilizza OpenCandy un> modulo pubblicitario nel suo programma di installazione. Se sei cauto durante il processo di installazione, leggi tutte le finestre di dialogo che ti vengono presentate e deseleziona tutto ciò che non sembra essere parte di Unlocker, puoi facilmente evitare di installare qualsiasi cosa dannosa sul tuo sistema.

l'immagine seguente mostra la finestra di dialogo che ho ricevuto come risultato del modulo OpenCandy, dove ho già selezionato "Avanzate" e deselezionato la casella di controllo "Installa barra degli strumenti Delta":

Delta Toolbar installer

@DanteTheEgregore Pensavo fosse solo il programma di installazione che mostrava adware, non il programma Unlocker stesso. Se fai clic sui pulsanti giusti durante l'installazione, ricevi ancora adware?
@DanteTheEgregore Grazie per l'avvertimento. Onestamente non sapevo di potenziali malware nel programma di installazione fino ad oggi. Non ho mai usato il programma di installazione, ma ho sempre estratto manualmente i file necessari dall'eseguibile per inserirli in un pacchetto portatile. Ho modificato la risposta per mostrare come evitare il potenziale malware nel programma di installazione.
Unlocker funziona per Windows 8? Continua a dirmi "nessuna maniglia di blocco trovata" anche quando ho il file aperto.
@ValekHalfHeart Non sono sicuro che sia dispiaciuto e non ho un PC Windows 8 per controllarlo. Sia il sito ufficiale che CNET elencano il sistema operativo fino a Windows 7, ma altri siti di download (incluso windows8downloads.com) lo elencano come compatibile con Windows 8.
#3
+23
laggingreflex
2014-06-03 08:46:27 UTC
view on stackexchange narkive permalink

LockHunter è un altro ottimo strumento gratuito.

link per il download

+1 Mi hai battuto. Non solo fa ciò che è richiesto qui, ma funziona molto meglio di un altro "file unlocker". Altamente raccomandato. Li ho provati, li riprovo ogni pochi mesi e questo è ancora il migliore dopo molti anni
@laggingreflex, [Il confronto di Unlocker con LockHunter (12 tick contro 6 tick)] (http://www.emptyloop.com/unlocker/) è giusto?
@Pacerier Interessante confronto. Di quelli penso che mi interesserebbe solo il controllo "Unload DLL", il resto mi sembra banale. Inoltre penso che anche la tabella potrebbe essere obsoleta perché "With reboot" dovrebbe essere controllato poiché LockHunter ha un'opzione "elimina al prossimo avvio". Ad ogni modo, il motivo principale per cui ho scelto LockHunter su Unlocker era che Unlocker non funzionava su Windows 8. Non so se lo fa ora, ma nella sezione download non menziona ancora specificamente Windows 8.
@laggingreflex, Che cosa significa esattamente "Unload DLL" in realtà?
Le DLL vengono caricate tramite programmi come rundll.exe, penso significhi che le scaricherà.
Li scaricherà se questo è l'unico uso corrente. Windows mantiene un conteggio continuo dei processi che utilizzano ciascuna DLL e li scarica da smeriglio solo quando viene chiuso l'ultimo processo.
#4
+13
Journeyman Geek
2014-02-08 11:26:09 UTC
view on stackexchange narkive permalink

Con un po 'di rifinitura, process monitor di sysinternals lo farebbe. L'unico vero problema è l'enorme quantità di informazioni: ci si aspetta che tu usi i filtri, ma ho finito per limitare semplicemente le informazioni mostrate all'attività del file system e vedere quale programma lo sta usando cercando il nome esatto del file (In questo case, test.text).

Come con qualsiasi software sysinternals, è piccolo, portatile e fa esattamente quello che dice sulla scatola - letteralmente non ha altre caratteristiche oltre al monitoraggio dei processi tramite filesystem, registro , rete e attività di processo. Considerando il livello di accesso necessario, deve essere eseguito come amministratore / sottoposto a escalation UAC.

Non ti consente di sbloccare direttamente un file, ma ti mostrerà che lo stai usando e tu può uccidere correttamente il processo genitore per annullare il blocco.

enter image description here

potresti aggiungere qualche dettaglio su altre caratteristiche di questo strumento? Perché l'hai trovato utile, quali sono i possibili svantaggi, ecc.?
Questo strumento è stato fantastico quando un processo moriva a causa della mancata ricerca di un file. Non sono riuscito a determinare quale file stava cercando senza questo (ad es. Il process explorer o il monitor delle risorse mostrano i file su cui un processo è bloccato, non i file che un processo non è riuscito a trovare). Con questo è stato abbastanza facile da risolvere perché ha registrato il tentativo effettivo di individuare il file. Una volta che ho saputo quale file non è riuscito a trovare, ho potuto risolvere il problema.
#5
+11
n611x007
2014-04-17 11:25:06 UTC
view on stackexchange narkive permalink

handle è uno strumento a riga di comando ospitato da Microsoft che fa proprio questo. È stato scritto da Sysinternals, ora di proprietà di Microsoft. Puoi dargli un nome di file o directory (o qualsiasi " handle") e stampa l'exe del programma e l ' ID di processo (PID). Puoi dargli nomi di file parziali es. anche "fragments".

Utilizzo di base:

  handle c: \ movie.mp4  

stampa la sua intestazione e poi qualcosa come

  vlc.exe pid: 1256 tipo: File 1EC: c: \ movie.mp4  

L'utilizzo è stampato con handle -h

Un modo pratico per usarlo è elencare i file aperti sulla tua pen drive. Se la tua penna è D: , puoi eseguire handle D: e stamperà quali programmi utilizzano l'unità e quale file.


note di scripting

Il primo utilizzo richiede alla GUI l'EULA. C'era un parametro -accepteula che non sembra funzionare con tutte le versioni recenti. Il valore è memorizzato in dword HKEY_CURRENT_USER \ Software \ Sysinternals \ Handle \ EulaAccepted . Puoi avere lo stesso effetto dell'accettazione aggiungendo

  REG ADD "HKCU \ Software \ Sysinternals \ Handle" / v EulaAccepted / t REG_DWORD / d 1 / f  

Ci sono molte altre utilità sysinternals interessanti ospitate sul sito Microsoft.

il giorno in cui avrei [386] (https://en.wikipedia.org/wiki/Intel_80386) punti. ci vediamo all'80386!
#6
  0
Navin
2018-09-20 01:27:30 UTC
view on stackexchange narkive permalink

Process Hacker fa questo:

Funzionalità
- Una panoramica dettagliata dell'attività di sistema con evidenziazione.
- Grafici e statistiche consentono di rintracciare rapidamente le risorse eccessive e i processi in fuga .
- Non riesci a modificare o eliminare un file? Scopri quali processi stanno utilizzando quel file.
- Guarda quali programmi hanno connessioni di rete attive e chiudili se necessario.
- Ottieni informazioni in tempo reale sull'accesso al disco.
- Visualizza lo stack dettagliato tracce con supporto in modalità kernel, WOW64 e .NET.
- Vai oltre services.msc: crea, modifica e controlla i servizi.
- Piccolo, portatile e non richiede installazione.
- Software gratuito al 100% ( GPL v3)

https://github.com/processhacker/processhacker



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...