我在Ubuntu 10.10中使用wine运行Windows版Tribler。有时它吃了很多我的CPU的功率,导致我的笔记本电脑升温。所以我需要放慢Tribler,我发现了cpulimit
。要运行cpulimit
,您需要使用PID
个进程号。所以我设法在.bashrc
中执行了以下操作:
alias tribler='wine /home/my_home/.wine/drive_c/Program\ Files/Tribler/tribler.exe'
alias slowdowntribler="cpulimit -l 10 -p `ps -ef | grep 'tribler.exe' | grep -vw 'grep' | awk '{print $2}'`"
alias slowtribler='tribler; slowdowntribler'
别名tribler
只使用wine
运行Tribler的Windows版本。
别名slowdowntribler
只使用名称为cpulimit
的进程的PID
运行Tribler.exe
。
假设第三个别名首先运行tribler
所以Tribler.exe
上升,然后slowdowntribler
来限制Tribler的cpu使用率。但是这里出现了一个问题。退出(或终止)slowdowntribler
后,最后一个别名将运行Tribler.exe
。为了解决这个问题,我尝试过:
alias slowtribler='tribler&; slowdowntribler'
(和一些变化)但我收到以下错误:
bash:意外令牌附近的语法错误`;'
我不知道如何继续。
答案 0 :(得分:2)
只需删除`;'它应该按预期工作。
修改强> 总结讨论,工作代码是
alias tribler='wine /home/my_home/.wine/drive_c/Program\ Files/Tribler/tribler.exe'
alias slowdowntribler='cpulimit -l 10 -p `ps -ef | grep "tribler.exe" | grep -vw "grep" | awk "{print \\$2}"`'
alias slowtribler='tribler& sleep 1; slowdowntribler'
可能需要在sleep
调用中使用另一个参数(例如.5)。