Pode acontecer que uma tarefa executada como tarefa agendada simplesmente não termine. Se isso é uma falha do gerenciador de tarefas ou o script é desconhecido, mas ambos podem estar com defeito aqui. Por exemplo, se o arquivo em lote contiver uma instrução de pausa, o lote espera que uma pressão de tecla continue. O agendador de tarefas nunca irá enviá-lo, e isso nunca termina o script.
Dito isso, já vi ocasiões em que uma tarefa é concluída normalmente, mas o agendador de tarefas não reconhece que esse seja o caso. O script termina normalmente, mas o gerenciador de tarefas afirma que ele ainda está em execução.
Por esse motivo, a Microsoft ativou a opção de encerrar uma tarefa após x horas, se ainda estiver em execução.
Então, o que você quer fazer é editar a tarefa, ir para a guia configurações e encontrar o Stop the task if it runs longer than 3 days
e mudar isso para 1 hora.
Na parte inferior, você encontrará: If the task is already running, the following applies: Do not start a new intstance
.
Altere isso para Run a new instance in parallel
.
Observe que essa opção tem a capacidade de eliminar a tarefa ou a fila anterior. Eu deliberadamente escolho não utilizar este método.
Agora, depois de salvar as configurações, clique com o botão direito do mouse na tarefa e escolha stop
para interromper a instância em execução.
Tenha em mente que, se o script realmente estiver em falta aqui, pode ser que ele não funcione normalmente e, portanto, o que quer que seja que ele faça nunca está sendo feito. Por exemplo, se você executar seu script sem agendador de tarefas e ele funcionar, e fizer algumas coisas nos compartilhamentos de rede, e agora você configurar para fazer isso com o agendador de tarefas, mas executá-lo com privilégios mais altos, ele simplesmente não terá acesso ao compartilhamentos de rede e falha por esse motivo. Isso deve, no entanto, terminar o script normalmente.