| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2008 13:00:40
|
Bruno_Leonardo
JavaEvangelist
Membro desde: 25/01/2008 17:13:57
Mensagens: 406
Offline
|
Galera,
Alguém sabe se é possível no Windows, via programação eu alterar a PRIORIDADE de um processo depois que ele estiver rodando? Seria algo do tipo do comando abaixo, porém necessito para um processo em execução:
Valeu
|
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2008 16:57:15
|
fiaux
GUJ Master
![[Avatar]](/images/avatar/45e7f4b7b70aea2ca2053b78bf65fd2c.png)
Membro desde: 16/06/2006 11:58:29
Mensagens: 1184
Localização: Rio de Janeiro - RJ
Offline
|
Bom, você teria que ter a instância de process na mão para poder alterar (se é que é possível). Isso eu não sei como fazer (pegar a instância de outras aplicaçôes). Talvez seja possível e fácil de fazer (se o SO permitir) com processos filhos.
Bom, eu não sei ao certo, achei algumas coisas, veja se te ajuda:
http://forum.java.sun.com/thread.jspa?threadID=5289091&messageID=10219558
http://www.velocityreviews.com/forums/t151135-setting-java-runtime-process-priority.html
http://forum.java.sun.com/thread.jspa?threadID=705093&messageID=4087136
This message was edited 2 times. Last update was at 08/05/2008 16:59:03
|
Necessita-se:
1) Inglês técnico para pesquisas no Google.
2) Português técnico para perguntas e respostas no fórum.
http://www.ffiaux.com
"Após 7,5 milhões de anos processando, o Pensador Profundo responde a Questão Fundamental da Vida, o Universo e Tudo o Mais. E a resposta é: 42"
"Java é uma ilha, Ruby é uma pedra, Phyton é um réptil, C é uma letra e AJAX é um detergente"
Não sou fanático por programação, só trabalho aqui... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2008 17:11:41
|
otaviofcs
Virtual Machine Man
![[Avatar]](/images/avatar/2509e9380eb3623ef61046dcd190275d.jpg)
Membro desde: 21/12/2006 18:01:54
Mensagens: 511
Localização: Rio de Janeiro
Offline
|
Você diz, prioridade de verdade? Tipo Linux? Numa boa, sem despertar flames: isso não existe de verdade no windows. Aliás, nem sei se existe de mentira (pelo seu post, parece que sim).
Um processo no windows define o momento em que ele vai parar de usar o processador. Se ele travar o processador para ele, babau!
Já no Linux (e em vários outros SO's), o kernel e as prioridades definem o tempo de acesso ao processador. Ou seja, se ele demorar demais e outros processos estiverem na fila, o kernel dá uma paradinha no processo demorado e dá um tempo pro próximo processo priorizado da fila.
This message was edited 1 time. Last update was at 08/05/2008 17:12:15
|
visite o blog da Riopro em:
http://blog.riopro.com.br
Aumente a capacidade de inovação na sua empresa usando o Zest:
http://zest.com.br
Conheça também:
http://votebolsa.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2008 17:19:01
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
otaviofcs wrote:
Um processo no windows define o momento em que ele vai parar de usar o processador. Se ele travar o processador para ele, babau!
Aham, a sua afirmação valia no tempo do Windows 3.1 (16 bits), ou do MacOS antes da versão 10 (Mac OSX).
O Windows NT e seus sucessores (2000, XP, Vista etc.) usam um scheduler como os outros sistemas operacionais tradicionais (Unix/Linux, etc.)
Só o Windows 3.1 ou anteriores requeriam que um processo explicitamente passasse o controle para outro processo, usando a API Yield (nesse tempo não havia nem a API Sleep, para ter uma idéia).
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2008 17:28:26
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Para você alterar a prioridade de um processo já rodando, o seu usuário (ou processo C/C++) tem de ter as permissões corretas, saber seu PID, obter um "process handle" a partir do PID (API do Windows OpenProcess) , e então você precisa usar a API do Windows SetPriorityClass.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/05/2008 07:25:49
|
Bruno_Leonardo
JavaEvangelist
Membro desde: 25/01/2008 17:13:57
Mensagens: 406
Offline
|
Blz, valeu galera pelas respostas.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2008 11:30:48
|
otaviofcs
Virtual Machine Man
![[Avatar]](/images/avatar/2509e9380eb3623ef61046dcd190275d.jpg)
Membro desde: 21/12/2006 18:01:54
Mensagens: 511
Localização: Rio de Janeiro
Offline
|
realmente thingol, você tem razão e eu fui enfático demais. Houve uma mudança nos padrões do windows mesmo. Mas foi após NT (no nt implementaram mas não funcionava direito). E mesmo no 2000 dava um certo pau (e você não tinha possibilidade de redefinição de prioridade dos serviços já rodando). O XP (na verdade o 2003 e 2005, porque falamos de servidores, eu creio) dá algum grau de prioridade (mas o gerenciamento não é simples).
O Vista não tem mais esse problema, porque afinal você mal consegue usar ele sozinho (isso é triste mais é sério, porque um dos meus notebooks tem essa porcaria, e atualizado com sp1).
abraços,
otávio
|
visite o blog da Riopro em:
http://blog.riopro.com.br
Aumente a capacidade de inovação na sua empresa usando o Zest:
http://zest.com.br
Conheça também:
http://votebolsa.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2008 11:57:16
|
aleck
GUJ Ranger
![[Avatar]](/images/avatar/2051bd70fc110a2208bdbd4a743e7f79.jpg)
Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline
|
otaviofcs wrote:realmente thingol, você tem razão e eu fui enfático demais. Houve uma mudança nos padrões do windows mesmo. Mas foi após NT (no nt implementaram mas não funcionava direito). E mesmo no 2000 dava um certo pau (e você não tinha possibilidade de redefinição de prioridade dos serviços já rodando). O XP (na verdade o 2003 e 2005, porque falamos de servidores, eu creio) dá algum grau de prioridade (mas o gerenciamento não é simples).
O Vista não tem mais esse problema, porque afinal você mal consegue usar ele sozinho  (isso é triste mais é sério, porque um dos meus notebooks tem essa porcaria, e atualizado com sp1).
abraços,
otávio
How Can I Lower the Priority of a Process Using a Script?
http://www.microsoft.com/technet/scriptcenter/resources/qanda/may05/hey0516.mspx
SetPriority for Windows (Programa externo)
http://gilchrist.ca/jeff/SetPriority/index.html
|
Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2008 13:14:19
|
otaviofcs
Virtual Machine Man
![[Avatar]](/images/avatar/2509e9380eb3623ef61046dcd190275d.jpg)
Membro desde: 21/12/2006 18:01:54
Mensagens: 511
Localização: Rio de Janeiro
Offline
|
E mesmo no 2000 dava um certo pau (e você não tinha possibilidade de redefinição de prioridade dos serviços já rodando).
Interessante o script. E ele condiz com a minha explicação:
"Nice. But can you do this same thing using a script?
Well, as long as you?re running Windows XP or Windows Server 2003 the answer is yes.(Sorry, Windows 2000 users, but this won?t work for you.) "
|
visite o blog da Riopro em:
http://blog.riopro.com.br
Aumente a capacidade de inovação na sua empresa usando o Zest:
http://zest.com.br
Conheça também:
http://votebolsa.com.br |
|
|
 |
|
|