kra_creatp-Kernel-Dienst
Zweck
Erstellt einen neuen Kernelprozess und ordnet den neuen Kernelprozess einer Ressourcengruppe zu.
Syntax
#include <sys/rset.h>
int kra_creatp (pid, rstype, rsid, flags)
pid_t *pid;
rstype_t rstype;
rsid_t rsid;
unsigned int flags;
Beschreibung
Der Kra_creatp -Kernel-Service erstellt einen neuen Kernelprozess und ordnet den neuen Kernelprozess einer Ressourcengruppe zu, die durch die Parameter RSTTYPE und RSID angegeben wird.
Der Kra_creatp -Kernel-Service kann ähnlich wie der Kreatp -Kernelservice verwendet werden, um einen neuen Kernelprozess zu erstellen.
- Die Ressourcengruppe muss Prozessoren enthalten, die im System verfügbar sind.
- Der aufrufende Prozess muss entweder Rootberechtigung haben oder über die Berechtigung CAP_NUMA_ANHÄNGEN verfügen.
- Der aufrufende Thread darf keine bindprocessor-Bindung an einen Prozessor haben.
- Die Ressourcengruppe muss in der Partitionsressourcengruppe des aufrufenden Prozesses enthalten sein.
Parameter
| Element | Beschreibung |
|---|---|
| pid | Zeiger auf ein Pid_t -Feld, um die Prozess-ID des neuen Kernelprozesses zu empfangen. |
| RSTYPE | Gibt den Typ der Ressourcengruppe an, der der neue Kernelprozess zugeordnet wird. Wie in der Datei rset.h definiert, muss dieser Parameter auf den folgenden Wert gesetzt werden: R_RSET: Ressourcengruppe. |
| RSID | Gibt die Ressourcengruppe an, der der neue Kernelprozess zugeordnet wird. Dieser Parameter RSID akzeptiert den folgenden Wert: Ressourcengruppen-ID (für den Parameterwert RSTTYPE von R_RSET): Setzen Sie das Feld rsid_t at_rset auf die gewünschte Ressourcengruppe. |
| Flags | Gibt an, wie der neue Kernelprozess erstellt werden soll Der Parameter Flags akzeptiert den folgenden Wert: R_NOINHERIT (oder als 0 angeben): Der neue Kernelprozess übernimmt nicht die Ressourcengruppenzuordnungen des übergeordneten Kernelprozesses. |
Rückgabewerte
Nach erfolgreichem Abschluss gibt der Kra_creatp -Kernel-Service den Wert null (0) zurück. Wenn der Kra_creatp -Kernel-Service nicht erfolgreich ist, gibt er einen der folgenden Fehler zurück:
| Element | Beschreibung |
|---|---|
| EINVAL | Gibt eine der folgenden Bedingungen an:
|
| ENODEW | Die angegebene Ressourcengruppe enthält keine verfügbaren Prozessoren. |
| EFAULT | Ungültige Adresse. |
| EPERM | Gibt eine der folgenden Bedingungen an:
|
| ENOMEM | Es ist nicht genügend Speicher verfügbar, um einen neuen Kernelprozess zu erstellen. |