J'ai un script je veux exécuter 2 programmes en même temps, l'un est un programme ac et l'autre est cpulimit, je veux commencer le programme C en arrière-plan d'abord avec "&" puis obtenir le PID du programme C remettez-le à cpulimit qui fonctionnera également en arrière-plan avec "&".
J'ai essayé de faire cela ci-dessous et il commence juste le premier programme et ne commence jamais cpulimit.
J'exécute également ceci en tant que script de démarrage en tant que root à l'aide de systemd dans Arch Linux.
#!/bin/bash
/myprogram &
PID=$!
cpulimit -z -p $PID -l 75 &
exit 0
Je pense avoir résolu ceci maintenant, selon ce qui suit: link Je dois emballer les commandes telles que celle-ci (commande) pour créer un sous-shell.
#!/bin/bash
(mygprgram &)
mypid=$!
(cpulimit -z -p $mypid -l 75 &)
exit 0
Je viens de trouver cela en googlant et je voulais ajouter quelque chose.
Bien que votre solution semble fonctionner (voir les commentaires sur les sous-shell), dans ce cas, vous n'avez pas du tout besoin d'obtenir le pid. Il suffit de lancer la commande comme ceci:
cpulimit -z -l 75 myprogram &