Pregunta

Tengo una máquina con doble procesador y me gustaría lanzar un ejecutable a través de un archivo por lotes en ambos procesadores.

Por ejemplo: (1) Inicie Notepad.exe en el procesador 1, y (2) Simultáneamente, Notepad.exe en el procesador 2

Actualmente, estoy usando lo siguiente en mi archivo por lotes, ya que mi ejecutable era " difícil " para iniciar y necesitaba una devolución para poder ejecutarse cuando se inicia: echo. | DoStuff.exe

Por lo tanto, me gustaría iniciarlo y ejecutarlo en cada procesador.

Gracias por cualquier comentario proporcionado.

P.S. No creo que " comience " funcionará para mí ya que necesito enviar el carácter de retorno al ejecutable como se muestra arriba con eco.

P.S.S. Esto es para una solución de Windows XP. Gracias.

¿Fue útil?

Solución

psexec de Microsoft puede configurar la afinidad del procesador en Windows XP:

Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i
[session]][-c [-f|-v]][-w directory][-d][-][-a n,n,...] cmd [arguments]
     -a         Separate processors on which the application can run with
                commas where 1 is the lowest numbered CPU. For example,
                to run the application on CPU 2 and CPU 4, enter:
                "-a 2,4"

Por ejemplo:

psexec -a 2 cmd /c "echo.|DoStuff.exe"

Otros consejos

start / affinity 1 notepad.exe

start / affinity 2 notepad.exe

(Windows7 tiene afinidad por el comando de inicio, pero XP no. PSexec funciona sin embargo)

  • Esta página habla de una versión gratuita herramienta llamada XCPU que puede utilizar para lanzar y establecer la afinidad. Sin embargo, el enlace dentro no funciona. Tal vez un poco De google puede localizarlo por ti.

  • Y hay herramientas similares aquí se llama runfirst.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top