Domanda

Così ogni volta che accendo la mia azienda di proprietà della macchina di sviluppo, devo uccidere 10+ processi utilizzando il task manager o qualsiasi altro processo di gestione delle app solo per ottenere prestazioni decenti della mia IDE.Sì, questi sono processi da programmi che la mia azienda installa sulla mia macchina per la sicurezza e la conformità.Quello che mi piacerebbe fare è di avere un .bat file o script di qualche tipo che appena posso sparare e uccidere i processi in questione.

Qualcuno già sa come fare?

È stato utile?

Soluzione

Si può fare questo con 'taskkill'.Con l' /IM parametro, è possibile specificare i nomi delle immagini.Esempio:

taskkill /im somecorporateprocess.exe

È anche possibile fare questo per 'forza' uccidere:

taskkill /f /im somecorporateprocess.exe

Basta aggiungere 1 riga per ogni processo che si vuole uccidere, salvare come .bat file, e mettere nella directory di avvio.Problema risolto!

Se questo è un sistema legacy PsKill farà lo stesso.

Altri suggerimenti

taskkill /f /im "devenv.exe"

questo sarà forzatamente uccidere il pid con il nome del file exe "devenv.exe"

equivalente a -9 sul nix y del comando kill

Come TASKKILL potrebbe non essere disponibile in qualche Casa di base/edizioni di windows ecco alcune alternative:

TSKILL processName

o

TSKILL PID

Avere in mente che processName non dovrebbero avere l' .exe suffisso ed è limitata a 18 caratteri.

Un'altra opzione è WMIC :

wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate

wmic offrono anche una maggiore flessibilità rispetto taskkill .Con wmic Path win32_process get si può vedere la disposizione campi da filtrare.

Sto assumendo come sviluppatore, si hanno un certo grado di controllo amministrativo sulla tua macchina.Se è così, da riga di comando, eseguire msconfig.exe.È possibile rimuovere molti processi anche di partenza, eliminando così la necessità di ucciderli con le soluzioni suddette.

Ottenere Autoruns da Mark Russinovich, Sysinternals ragazzo che ha scoperto la Sony Rootkit...Il software migliore che io abbia mai utilizzato per pulire le cose che avvia automaticamente.

Download PSKill.Scrivere un file batch che la chiama per ogni processo che si desidera morti, passando il nome del processo per ogni.

Utilizzare Powershell!Costruito nel cmdlet per la gestione dei processi. Gli esempi qui (hard way), qui(integrato) e qui (di più).

Si prega di trovare il seguente logica in cui opera, a seconda della condizione.

Se chiamiamo semplicemente taskkill /im applicationname.exe, uccidono solo se questo processo è in esecuzione.Se questo processo non è in esecuzione, verrà generato un errore.

In modo da controllare prima di takskill è chiamato, un controllo può essere fatto per assicurarsi di eseguire taskkill verrà eseguito solo se il processo è in esecuzione, in modo che non passi di errore.

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

Qui ho scritto un comando di esempio che è possibile incollare nel vostro cmd prompt della riga di comando ed è scritto per chrome.exe.

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

Il solo per prende tutte le PIDelencati in seguito tasklist comando e lo esegue TASKKILL /PID in ogni PID

tasklist /FO Table /M "chrome*" /NH

Se si utilizza un file batch basta usare %%P al posto di %P

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top