Je veux avoir un processus en temps réel sur mon ordinateur. :)Est-il possible de "bloquer" une machine Linux avec un processus SCHED_FIFO?
J'ai joué un peu avec ça. J'ai créé un processus qui est essentiellement un while (1)
(ne bloque jamais ni cède le processeur) et utilisé schedtool
pour l'exécuter avec la politique SCHED_FIFO
(également essayé chrt
). Cependant, le processus laissait également d'autres processus s'exécuter. Puis quelqu'un m'a parlé de sched_rt_runtime_us
et sched_rt_period_us
. J'ai donc réglé le temps d'exécution sur -1
pour que le processus en temps réel prenne en charge le processeur (et j'ai également essayé de rendre les deux valeurs identiques), mais cela n'a pas fonctionné non plus.
Je suis sur Linux 2.6.27-16-serveur, dans une machine virtuelle avec un seul processeur. Qu'est-ce que je fais mal?
Merci,
EDIT: Je ne veux pas une bombe à fourche. Je veux juste qu'un processus s'exécute pour toujours, sans laisser courir d'autres processus.
Si vous voulez dire «se bloquer» comme dans «ralentir et s'écraser», essayez une bombe à fourche. Si je vous comprends bien (et que vous n'êtes pas lié à une implémentation du noyau), une bombe à fourche fera exactement ce dont vous avez besoin. – new123456
Je suis d'accord avec^une bombe à fourche le fera beaucoup plus efficacement. –
Non, je ne le veux pas. Je veux juste qu'un processus s'exécute pour toujours, sans laisser courir d'autres processus. –