priocntlset(2) priocntlset(2)
NAME
priocntlset, setprocset - Prozesse kontrollieren
SYNTAX
#include <sys/types.h>
#include <sys/procset.h>
#include <sys/priocntl.h>
#include <sys/rtpriocntl.h>
#include <sys/tspriocntl.h>
long priocntlset(procsett *psp, int cmd, ... /* arg */);
BESCHREIBUNG
priocntlset() ändert die Prioritätsparameter von laufenden Prozessen.
priocntlset() hat dieselben Funktionen wie der Systemaufruf pri-
ocntl(), jedoch können Prozesse, deren Prioritätsparameter geändert
werden sollen, allgemein angegeben werden.
cmd gibt die Funktion an, die durchgeführt werden soll. arg ist ein
Zeiger auf eine Struktur, deren Typ von cmd abhängt. Siehe priocntl(2)
für die gültigen Werte von cmd und die entsprechenden arg-Strukturen.
psp ist ein Zeiger auf eine procset-Struktur, die priocntlset() zur
Bestimmung der Prozesse verwendet, deren Prioritätsparameter geändert
werden sollen.
typedef struct procset {
idopt pop; /* Operator, der linken/rechten Satz verbindet /*
idtypet plidtype; /* ID-Typ des linken Satzes */
idt plid; /* ID des linken Satzes */
idtypet pridtype; /* ID-Typ des rechten Satzes */
idt prid; /* ID des rechten Satzes */
} procsett;
plidtype und plid bestimmen den ID-Typ und die ID von einer ("lin-
ken") Prozeßmenge; pridtype und prid bestimmen den ID-Typ und die ID
einer zweiten ("rechten") Prozeßmenge. ID-Typen und IDs werden genau
wie beim Systemaufruf priocntl() angegeben. pop gibt die Operation
an, die für beide Prozeßmengen ausgeführt werden soll, um die resul-
tierende Prozeßmenge zu erhalten, auf den der Systemaufruf anzuwenden
ist. Gültige Werte für pop und die Prozesse sind:
POPDIFF Differenz bilden: Prozesse aus der linken Menge, die sich
nicht in der rechten Menge befinden.
POPAND Schnittmenge: Prozesse sowohl in der linken als auch in der
rechten Menge.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
priocntlset(2) priocntlset(2)
POPOR Vereinigungsmenge: Prozesse aus der linken oder rechten
Menge oder aus beiden.
POPXOR Exklusiv-Oder: Prozesse aus der linken oder rechten Menge,
aber nicht aus beiden.
Das folgende Makro, das in procset.h definiert wird, bietet eine gän-
gige Methode zum Initialisieren einer procset-Struktur:
#define setprocset(psp, op, ltype, lid, rtype, rid) \
(psp)->pop = (op), \
(psp)->plidtype = (ltype), \
(psp)->plid = (lid), \
(psp)->pridtype = (rtype), \
(psp)->prid = (rid),
ERGEBNIS
priocntlset() hat dieselben Rückgabewerte und Fehler wie priocntl().
SIEHE AUCH
priocntl(1), priocntl(2).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98