如何让一个进程在linux中运行得更慢?

时间:2015-03-19 05:14:06

标签: linux process

我想让一个过程长时间运行(例如,超过半小时)。我的节目是gpg。如果我使用gpg elgamal加密加密500MB文件,则需要大约1-2分钟(压缩关闭)。为了增加运行时间,我只能创建一个几GB的文件,这是不可取的。有没有其他方法可以让这个gpg程序运行更长时间?

2 个答案:

答案 0 :(得分:2)

https://unix.stackexchange.com/questions/18869/slow-down-a-process-without-affecting-other-processes

CPULimit可能会在不影响其他流程的情况下满足您的需求:

http://www.cyberciti.biz/faq/cpu-usage-limiter-for-linux/

启动程序,然后针对程序名称或PID运行cpulimit,指定要限制的百分比。注意百分比是所有核心;所以如果你有4个核心,你可以使用400%。

答案 1 :(得分:1)

我相信,默认情况下,gpg从标准输入获取输入并将输出发送到标准输出。

所以你可以用永远运行

gpg --encrypt </dev/urandom >/dev/null

要使用它来消耗CPU一小时(例如),您可以创建一个类似的脚本:

gpg --encrypt </dev/urandom >/dev/null &
pid=$!
sleep 3600
kill -9 ${pid}