我有一个脚本,我想同时运行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