Wie starte ich einen Echtzeitprozess?

Aug 20 2020

Ich suche nach einer Möglichkeit, einen Echtzeitprozess zu starten oder einen laufenden Prozess als Echtzeitprozess festzulegen.

Antworten

2 Stewart Aug 20 2020 at 12:55

Um einen Prozess in Echtzeit zu starten / festzulegen, sollten Sie verwenden chrt

Verwendung zum Starten eines neuen Prozesses:

chrt priority command [arguments]

Verwendung zum Festlegen eines laufenden Prozesses:

chrt -r -p priority pid

Beispiel:

sudo chrt -r 70 <your command>

oder

<your command> & sudo chrt -r 70 $!
2 JdeBP Aug 20 2020 at 20:38

Natürlich kann man dies programmgesteuert tun, indem man einfach die entsprechenden Systemaufrufe aufruft. Es gibt verschiedene Befehle, die diese umschließen, so dass dies auch auf der Ebene der Shell-Programmierung möglich ist.

  • Unter HP-UX lautet der Befehls-Wrapper dafür rtprio.
  • Unter FreeBSD enthält der Befehls-Wrapper hierfür rtprioeinen Hinweis im Handbuch zum HP-UX-Tool.
  • Unter Illumos und unter Solaris und Ultrix zuvor ist der Befehls-Wrapper priocntl.
  • Es ist auch priocntlauf Schillix.
  • Im Util-Linux-Toolset für Linux-basierte Betriebssysteme ist der Befehls-Wrapper chrt.
  • Im BusyBox-Toolset chrtstehen für den Befehls- Wrapper andere Optionen zur Verfügung als für das Util-Linux-Tool.
  • Im ToyBox-Toolset enthält der Befehls-Wrapper chrteinen dritten Satz verschiedener Optionen.