Você não pode chamar taskset
para gravar as configurações a serem usadas em um processo futuro. Este modo de chamar taskset
é apenas para processos atualmente em execução.
Para fixar um novo processo em um núcleo, chame taskset
em seu modo direto. Você chama taskset
e diz qual programa executar.
taskset -c 0 python main.py
A maneira como funciona é:
- O shell (ou outro programa de chamada) cria um novo processo (
fork
) para executar (execve
)taskset -c 0 python main.py
. - O processo que está executando
taskset
aplica as configurações principais a si mesmo. - O processo é executado (
execve
novamente)python main.py
no mesmo processo.
Esta é a maneira como outras configurações por processo são feitas: variáveis de ambiente quando você as define para um único processo (por exemplo, com env
) ao invés de uma sessão de shell (por exemplo, com export
), CPU niceness com nice
, redirecionamentos (o que geralmente é feito através da sintaxe do shell, em vez de com um utilitário separado), etc.