Ответ 1
Я думаю, что я решил это сейчас, в соответствии с этим: ссылка Мне нужно обернуть команды, подобные этой (команде), для создания подклассов.
#!/bin/bash
(mygprgram &)
mypid=$!
(cpulimit -z -p $mypid -l 75 &)
exit 0
У меня есть script, я хочу запускать 2 программы одновременно, One - это c-программа, а другая - cpulimit, я хочу запустить программу C в фоновом режиме сначала с помощью & а затем получить PID программы C и передать его в cpulimit, который также будет работать в фоновом режиме с помощью "&".
Я попытался сделать это ниже, и он просто запускает первую программу и никогда не запускает cpulimit.
Также я запускаю это как запуск script как root, используя systemd в arch linux.
#!/bin/bash
/myprogram &
PID=$!
cpulimit -z -p $PID -l 75 &
exit 0
Я думаю, что я решил это сейчас, в соответствии с этим: ссылка Мне нужно обернуть команды, подобные этой (команде), для создания подклассов.
#!/bin/bash
(mygprgram &)
mypid=$!
(cpulimit -z -p $mypid -l 75 &)
exit 0
Я только что нашел это во время поиска в Google и хотел что-то добавить.
Пока ваше решение работает (см. комментарии о подоболочках), в этом случае вам вообще не нужно получать pid. Просто запустите команду следующим образом:
cpulimit -z -l 75 myprogram &