I think "cpulimit" is best way to control cpu usage per process. cpulimit does not act on the nice value or other scheduling priority stuff, but on the real cpu usage.
cpulimit on Linux:
yum install cpulimit
To limit CPU usage of the process called nginx to 40%, enter:
cpulimit -e nginx -l 40
To limit CPU usage of the process to 40% by using its PID, enter:
cpulimit -p 3302 -l 40
-p : Process PID.
-e : Process name.
-l : percentage of CPU allowed from 0 to 100.
-P: absolute path name of the executable program file.