boa tarde amigo, Todas as dúvida, sanadas.
[.]´s Serial Em 11 de abril de 2011 14:29, Junior Polegato - Linux < li...@juniorpolegato.com.br> escreveu: > Em 11-04-2011 12:00, ..:: S.e.r.i.a.L ::.. escreveu: > > Bom dia amigos, > Tenho um servidor de banco de dados, aonde uma aplicação estava rodando um > select nesse banco. > Porém, essa aplicação foi fechada pelo próprio usuário e o select continou > a rodar (eu via o select rodando pelo comando ps ax). > Notei que esse processo, estava com a flag D, o que no man do ps, diz: D, > ininterrupta sono ou Uninterruptible sleep (usually IO). > Não consegui entender o que realmente isso significa. > Pergunto isso, pois tenho algumas flags no kernel para matar conexões de > keep_alive, e eles funcionam perfeitamente bem, porem com a flag D, não > funcionam, alias foi a primeira vez que me deparei com essa flag. > Alguém poderia me explicar de um maneira mais clara o que aconteceu e o que > acontece qdo a flag D entra em operação? > Obrigado a todos. > > > Olá! > > Processos com status 'D' (sono profundo), são processos que estão > esperando respostas de drivers ou kernel, geralmente de escrita em > compartilhamento de rede, algumas vezes em HD ou memória flash e raras vezes > em sockets ou pipes (comunicação entre processos). Nesse caso, o processo > dorme esperando essa resposta e se for interrompido pode causar alguma falha > crítica ou corromper arquivos, por isso nenhum sinal que não seja o que ele > está esperando pode acordá-lo, nem SIGTERM ou SIGKILL (kill -9). > > Caso mate o processo pai, ele irá para o estado de zombie, onde o > pai passar ser o processo 1 (init), o qual somente morre com o desligamento > do sistema, isto é, somente vai sumir quando desligar/reiniciar. > > O estado 'D' deveria existir, quando tudo estiver bem, por frações > de segundos, onde persistindo algo está errado e o processo não foi > programado para acordar depois de um tempo de espera (timeout). > > > []'s > Junior Polegato > > -- [.]´s ..:: S.e.r.i.a.L ::..