Cambiar la afinidad (el cpu donde corre) un proceso, es algo que en algún momento podríamos necesitar. Como ya me ha pasado de necesitarlo aca va como hacerlo.
En GNU/Linux tenemos el comando taskset (se encuentra el paquete schedutils) por lo que si no lo tenemos los debemos instalar primero

Debian/Ubuntu)

# apt-get install schedutils

RHEL/Fedora)

# yum install schedutils

Una vez instalado basicamente debemos buscar el PID (process ID) al cual le queremos cambiar la afinidad, el comando ps auxf es el candidato para ello, y una vez obtenido podremos ver la afinidad y si queremos luego cambiarla de la siguiente forma:

En mi caso tengo un procedor dual core, y el proceso elegido para cambiar la afinidad es el demonio sshd que por default corre en ambos procesadores

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
Busco el pid:  
  
_pepo@luca:~$ ps ax |grep sshd|grep -v grep  
 5459 ?        Ss     0:00 /usr/sbin/sshd_   
  
Verifico la afinidad:  
  
_pepo@luca:~$ taskset -pc 5459  
pid 5459's current affinity list: 0,1_  
  
Cambio la afinidad:  
  
_pepo@luca:~$ sudo taskset -pc 0 5459  
pid 5459's current affinity list: 0,1  
pid 5459's new affinity list: 0_  

Y con esto ya el demonio sshd só:lo corre en el core 0 :D