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

我尝试在下面执行此操作,它只会启动第一个程序,而不会启动cpulimit。

我也使用arch linux中的systemd以root身份作为启动脚本运行它。

#!/bin/bash

/myprogram &

PID=$!

cpulimit -z -p $PID -l 75 &

exit 0

最佳答案

我想我已经解决了这个问题,根据这里的内容:link我需要包装这样的命令(命令)以创建一个子 shell 。

#!/bin/bash

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

exit 0

09-19 22:55