15

我有一个脚本我想同时运行2个程序,一个是ac程序,另一个是cpulimit,我想先用“&”在后台启动C程序,然后获取C程序的PID和将它交给 cpulimit,它也将在后台使用“&”运行。

我在下面尝试这样做,它只是启动第一个程序,从不启动 cpulimit。

另外,我在 Arch linux 中使用 systemd 以 root 身份将其作为启动脚本运行。

#!/bin/bash

/myprogram &

PID=$!

cpulimit -z -p $PID -l 75 &

exit 0
4

2 回答 2

5

我想我现在已经解决了这个问题,根据这里:链接我需要包装这样的命令(命令)来创建一个子外壳。

#!/bin/bash

(mygprgram &)
mypid=$!
(cpulimit -z -p $mypid -l 75 &)

exit 0
于 2014-02-03T17:15:25.150 回答
2

我只是在谷歌搜索时发现了这个并想添加一些东西。

虽然您的解决方案似乎有效(请参阅有关子外壳的评论),但在这种情况下,您根本不需要获取 pid。只需像这样运行命令:

cpulimit -z -l 75 myprogram &
于 2017-01-31T09:38:51.440 回答