finalizar tarefa versus finalizar processo

2

Por que a conclusão de uma tarefa no XP / Vista leva muito mais tempo do que terminar o processo subjacente em si? Qual é a relação entre uma tarefa e um processo do ponto de vista do SO?

    
por Joel Coehoorn 10.08.2009 / 18:47

2 respostas

7

"Tarefa" é o termo usado pelo "Gerenciador de Tarefas" para  - justifique seu nome  - mostra a lista de "janelas principais dos processos do usuário" (*), se houver

"Finalizar tarefa" fornece à "tarefa" (loop de mensagens para a "janela principal") uma última chance de reagir à mensagem WM_CLOSE e termina o tempo limite no processo associado para concluir ( link )

"End Process" é um TerminateProcess rude, descartando quaisquer alterações pendentes em arquivos ou outros recursos.

Geralmente, um mini-dump é criado para um relatório do Microsoft Online Crash Analysis (Dr. Watson), que também pode demorar um ou dois segundos.

(*) Raymond, eu sei que isso é tão impreciso.

    
por 10.08.2009 / 19:05
5

Acredito que o término da tarefa requeira que o programa seja encerrado normalmente, enquanto que o término do processo é o equivalente do SIGKILL no Windows - o SO simplesmente elimina o processo sem fazer perguntas.

    
por 10.08.2009 / 18:49