Czy istnieje sposób na zabicie wszystkich wystąpień określonego programu za pomocą polecenia wiersza polecenia?
Czy istnieje sposób na zabicie wszystkich wystąpień określonego programu za pomocą polecenia wiersza polecenia?
Odpowiedzi:
killall program
taskkill /IM program.exe
killall
, dobrze, zabija wszystko : tehtable.wordpress.com/2009/12/07/note-to-self-solaris-linux
/F
flagi, aby wymusić zabicie.
W systemie Windows 7 (Vista?) Wolę, tskill processname
ponieważ nie musisz pamiętać przełączników wiersza polecenia ani pisać .exe na końcu. na przykład:
tskill chrome
Zabije wszystkie procesy chrome.
W pskill
systemie Windows XP korzystałem z pakietu pstools , który używa podobnej składni. Oba te polecenia mogą również działać na komputerach zdalnych, jeśli masz uprawnienia administratora.
W wielu systemach znajdziesz polecenia kill
i killall
.
Jeśli znasz PID procesu, możesz go użyć kill PID
Pierwszy zabija tylko jeden określony proces. (A raczej wysyła do niego sygnał, np. Sygnał zakończenia). Możesz napisać opakowanie z ps i grep, aby zabić wszystkie procesy pasujące do nazwy.
lub, jeśli jest zainstalowany, możesz użyć killall
Uważaj jednak, nie wszystkie polecenia killall robią to samo. W systemie Solaris zabija wszystkie procesy. Powtarzam wszystko. Nie tylko ci, których chciałeś, ale każdy proces, który masz prawo zabić, zostanie zabity. Upewnij się, że sprawdziłeś stronę podręcznika lokalnego systemu i / lub czy jest to link do killall5.
killall5
jest paskudny.
w systemie Windows możesz użyć
taskkill / im nazwa_programu
użyj taskkill / im nazwa_programu / f dla bardziej problematycznych programów
Użyj ProcessExplorer, jeśli chcesz mieć GUI jako alternatywę dla Taskmanager
W systemie Linux, polecenie jest albo pkill
albo killall
. pkill
jest ogólnie zalecane, ponieważ w niektórych systemach killall
faktycznie zabije wszystkie procesy .
killall
zabija wszystkich. Nie jest to złą rzeczą, ale jeśli nie spodziewasz się, że będzie zachowywać się inaczej w innym systemie, możesz uzyskać moment edukacyjny .