You might try something like NetBalancer. It lets you set priorities for the network traffic from different processes. I haven't used it myself, but it looks like it would do what you want.
For a Linux system, try using Wondershaper. Hopefully you're using a Debian based distro, as I'm not sure Wondershaper is in the yum repository.
Install Wondershaper with the command
sudo apt-get install wondershaper
Then add these lines to /etc/network/interfaces
up /sbin/wondershaper <interface name> <downspeed> <upspeed>
down /sbin/wondershaper clear <interface name>
Wondershaper is already set up with scripts that cause it to prioritize traffic such as HTTP, SSH, and VOIP, while giving a lower priority to bitTorrent traffic.
I'm not at home to test this on my Linux system right now, so I'm not absolutely certain that this is all correct, but here is where I got it from if you need clarification.