Autor Beitrag
Lord Gurke
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 11.08.07 14:24 
Hallo zusammen,

ich habe auf einem (älteren Rechner) einen AsteriskWin32-Server laufen, der aber aufgrund der leicht begrenzten Prozessorleistung mit Echtzeit-Priorität laufen muss, damit es bei Gesprächen von VoIP auf ISDN flüssig funktioniert.
Da ich den Dienst nicht direkt mit hoher Priorität starten kann, wollte ich im Autostart ein C#-Programm platzieren, welches nach Hochfahren des Systems automatisch den Asterisk-Dienst startet und (sobald er läuft) die Priorität des Prozesses auf Echtzeit ändert.

Wie ich die Daten zu dem Prozess abfrage habe ich inzwischen herausgefunden, wie ich die Priorität aber ändern kann erschließt sich mir nicht so ganz...

Das ist der Code, den ich bisher habe:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
using System.Threading;
using System.Diagnostics;


        private void Form1_Load(object sender, EventArgs e)
        {
            Process[] prozesse = Process.GetProcessesByName("firefox");
            MessageBox.Show(prozesse[0].PriorityClass.ToString());
        }


Ich habe für Testzwecke einfach mal versucht, den FF-Prozess zu ändern, aber ich habe wie gesagt keine Ahnung, wie ich die Priorität heraufsetzen kann. :(


Kann mir da jemand weiterhelfen?
Danke schonmal

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 11.08.07 16:09 
PriorityClass besitzt doch einen Setter, also setze die Eigenschaft doch einfach einmal auf ProcessPriorityClass.AboveNormal :gruebel: .
Lord Gurke Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 11.08.07 16:37 
*patsch*
Danke, manchmal sieht man den Wald vor lauter Bäumen nicht :D
Ich habe die ganze Zeit versucht, mit prozesse[0].PriorityClass.RealTime das Dingen hochgesetzt zu kriegen...