We hebben allemaal wel eens dat moment in ons leven gehad waarop we een applicatie probeerden te openen en deze weigerde te openen, wat je ook probeerde. Je kijkt in Taakbeheer of het al draait, maar het is nergens te bekennen. Wat is er aan de hand?
Afhankelijk van je scenario heb je misschien een bestand dat je niet kunt verwijderen omdat een specifiek proces het gebruikt, of een applicatie die niet reageerde en geforceerd moest worden afgesloten, maar nu niet meer opent. Dit zou je probleem moeten kunnen oplossen.
Als u administratorrechten hebt, opent u het startmenu en voert u het volgende uit cmd als beheerder. Dit brengt je naar dit scherm.
Nadat u dat scherm hebt bereikt, kunt u het programma takenlijst commando. Je zou nu een scherm moeten zien met alle huidige taken/processen die op je computer draaien.
Voor dit voorbeeld zal ik mijn vastgelopen Microsoft Excel proces beëindigen. Ik zal mijn processen doorzoeken totdat ik de identificeerbare procesnaam vind. Nieuwere processen hebben de neiging om lager op deze lijst te verschijnen, dus het zou niet al te moeilijk moeten zijn om de applicatie te vinden als je deze onlangs hebt geprobeerd te openen.
Als ik mijn proces gevonden heb, moet ik letten op het nummer dat ernaast staat. Het nummer waar we naar zoeken is de proces-ID, en het is belangrijk, omdat dit de manier is waarop we Windows vertellen welke applicatie beëindigd moet worden.
We kunnen doorgaan en typen taskkill /pid /f
Hier vertellen we Windows om een specifieke taak te doden, gebaseerd op zijn proces-ID. We geven dan de proces-ID op en de /f helemaal aan het einde is om het commando te dwingen de taak te beëindigen, voor het geval het proces vastloopt. In de praktijk ziet mijn uiteindelijke commando er als volgt uit
Als u liever de procesnaam gebruikt in plaats van naar de proces-ID te zoeken, vervangt u /pid met /im (/im betekent de afbeeldingsnaam) gevolgd door de procesnaam, dat zal ook werken:
Druk op Enter en als alles goed gaat, moet de taak nu worden beëindigd. Windows zal je vertellen of de taak succesvol is beëindigd.
Herhaal dit proces indien nodig. Als je ziet dat er meerdere processen van het product zijn waarmee je problemen ondervindt, kun je de methode die je zojuist hebt gebruikt herhalen of de methode gebruiken die wijst naar de afbeeldingsnaam van het proces, omdat dit alle processen doodt die overeenkomen met de naam die je opgeeft.
Hoewel het misschien makkelijk is om met de vinger te wijzen en meteen Windows de schuld te geven, is het niet altijd zo makkelijk omdat er geen goed of fout antwoord is op deze vraag. Verschillende dingen kunnen ertoe leiden dat processen in deze onduidelijke toestand terechtkomen.
Software bugs of glitches
Meestal ligt de reden hiervoor bij de software zelf, waar de softwareontwikkelaars mogelijk geen rekening hebben gehouden met die specifieke omstandigheid, waardoor het verkeerd wordt afgesloten.
Het belangrijkste verschil tussen deze flow en de vorige is dat, naast het feit dat er geen handmatige triggering meer wordt gebruikt, deze een cyclus heeft om ervoor te zorgen dat alle bijlagen in berichten worden verzegeld en niet alleen de eerste.
Vergrendelingen voor bronnen
Deze applicatie kan op dat moment een bestand of een systeembron open hebben staan, en om wat voor reden dan ook is Windows of de applicatie niet in staat om dat slot vrij te geven en dus blijft het draaien, zelfs nadat er een verzoek tot beëindiging is gedaan. Dit gebeurt meestal met onjuist afgehandelde I/O-bewerkingen, waarbij de applicatie wacht tot een bewerking is voltooid voordat het in staat is om af te sluiten, maar dit proces blijft hangen, waardoor het beëindigingsverzoek voor onbepaalde tijd blijft lopen.
Een minder waarschijnlijke, maar nog steeds een waarschijnlijke verklaring hiervoor is software van derden. Systeemtweakers om het uiterlijk te veranderen of systeemprestatieboosters die de manier waarop Windows normaal functioneert kunnen veranderen, of zelfs je antivirus; deze kunnen er allemaal voor zorgen dat je applicatie niet werkt zoals bedoeld.
Beperkingen van systeembronnen
Als je een computer hebt die niet erg krachtig is of je gebruikt gewoon elk beetje systeembronnen dat je computer te bieden heeft, dan is het ook waarschijnlijk dat je applicatie zich vreemd kan gedragen, want als je systeem zwaar belast wordt, zal het applicaties niet effectief beheren en mogelijk zelfs de afsluitprocedure van een applicatie beïnvloeden.
Onjuist applicatieontwerp
Het is niet altijd de fout van het besturingssysteem of de hardware, soms is een applicatie gewoon niet geoptimaliseerd of te complex om efficiënt te draaien. Het is niet ongehoord dat applicaties die meerdere threads spawnen zonder goed beheer deze entiteiten laten draaien, zelfs nadat het hoofdvenster van de applicatie is gesloten.
Het is ongebruikelijk, maar niet ongehoord, dat processen ter ziele gaan. Dit gebeurt meestal als gevolg van een ouder-kind proces mismatch die heeft plaatsgevonden, en het kind proces eindigt zonder dat het ouder proces op de juiste manier op de hoogte wordt gesteld van deze gebeurtenis, waardoor de kind processen niet worden verzameld.
Hoewel er talloze redenen zijn waarom dit zou kunnen gebeuren, is het altijd een goed gebruik om je software en besturingssysteem up-to-date te houden, omdat dit vaak oplossingen bevat voor bekende bugs of compatibiliteitsproblemen.