We have all had that moment some time in our lives where we have tried to open an application and it refuses to open no matter what you try. You check in Task Manager to see if it’s already running but it’s nowhere to be seen. What is going on?
Depending on your scenario, you might either have a file that you cannot delete because a specific process is using it, or an application that was not responding and needed to be force quit but is now no longer opening anymore. This should be able to fix your issue.
If you have administrator rights, open the start menu, and run cmd as an administrator. This will bring you to this screen.
After you reach that screen, you can run the tasklist command. You should now see a screen with all the current tasks/processes running on your computer.
For this example, I will be ending my stuck Microsoft Excel process. I will search through my processes until I find the identifiable process name. Newer processes tend to appear lower down on this list so it should not be too difficult to find the application if you have recently tried to open it.
Once I have found my process, I will need to pay attention to the number shown next to it. The number we are looking for is the process ID, and it is important, as this is how we will tell Windows which application needs to be ended.
We can go ahead and type taskkill /pid <TASK PID> /f
Here we are telling Windows to kill a specific task, based on its process ID. We then provide the process ID and the /f all the way at the end is to force the command to end the task, just in case the process is stuck. In practice, my final command will look like this
If you would prefer using the process name instead of looking for the process ID, replacing /pid with /im (/im signifies the image name) followed by the process name, that will also work:
Press Enter and if all goes well, the task should now be ended. Windows will tell you whether the task was ended successfully.
Repeat this process if necessary. If you see that there are multiple processes of the product that you are experiencing issues with, you can either repeat the method you have just used or use the method that points to the image name of the process as this kills all the processes which match the name you specify.
While it might be easy to point fingers and immediately blame Windows, it is not always that easy as there is no right or wrong answer for this question. Various things could lead to processes getting into this limbo-like state.
Software bugs or glitches
Typically, the reason for this happening is due to the software itself where the software developers might not have accounted for that specific condition, leading it to shutdown incorrectly.
The main difference between this flow and the previous one is that, besides not using manual triggering anymore, this one has a cycle to ensure that all the attachments in messages are sealed and not just the first one.
This application might have a file or a system resource open at the time, and for whatever reason, windows or the application is unable to release that lock and thus it is stuck running, even after a termination request was made. This typically happens with improperly handled I/O operations, where the application is waiting for an operation to complete before being able to shut down, however, this process is stuck, leaving the termination request running indefinitely.
Third-party interferences
A less likely, but still a likely explanation for this occurring, is third-party software. System tweakers to change appearances or system performance boosters that may alter the way Windows functions conventionally, or even your antivirus; all of these could potentially cause your application to not function as intended.
System resource constraints
If you have a computer that is not very powerful or you’re just using every bit of system resources that your computer has to offer it is also likely that your application could behave strangely as when your system is under a heavy load, it will not manage applications effectively thus potentially even affecting an application’s shutdown sequence.
Improper application design
It may not always be the fault of the operating system or the hardware, sometimes an application is just not optimized, or it is too complex to run efficiently. It’s not unheard of for applications that spawn multiple threads and without proper management to leave these entities running even after the main application window has been closed.
It’s unusual but not unheard of for processes to become defunct. This usually occurs due to a parent-child process mismatch that has happened, and the child process ends without the parent process being properly notified of this event, thus leaving the child processes uncollected.
Although there are countless reasons as to why this might have happened, it is always good practice to keep your software and operating system up to date as this often includes fixes for known bugs or compatibility issues.