Ironically, it is impossible to prove if a given program actually has an end state or not. So while a program running a million years before it arrives with an answer is clearly impractical, you wouldn't be able to distinguish it from one running forever. You just kill both.