|
|
|
B.8 Prozess und Prozessverwaltungsfunktionen
B.8.1 Umgebungsvariablen (Environment) eines Prozesses
Tabelle B.40
Funktionen zur Bearbeitung der Umgebungsvariablen
Syntax
|
Bedeutung
|
char *getenv(const char *name);
|
Umgebungsvariablen eines Prozesses ermitteln
|
int putenv(char *string);
|
Umgebungsvariablen eines Prozesses hinzufügen
|
int setenv( const char *name,
const char *value,
int overwrite);
|
Umgebungsvariablen eines Prozesses verändern
|
void unsetenv(const char *name);
|
Umgebungsvariablen eines Prozesses löschen
|
int clearenv(void);
|
Alle Umgebungsvariablen löschen
|
B.8.2 Ressourcen-Limits eines Prozesses abfragen oder setzen
Tabelle B.41
Ressouren-Limits und Benutzung erfragen bzw. setzen
Syntax
|
Bedeutung
|
int getrlimit(
int resource,
struct rlimit *rlim);
|
Ressourcen-Limits eines Prozesses erfragen
|
int getrusage(
int who,
struct rusage *usage);
|
Ressourcenbenutzung eines Prozesses erfragen
|
int setrlimit(
int resource,
const struct rlimit *rlim);
|
Ressourcen-Limits eines Prozesses setzen
|
B.8.3 Prozesserkennung erfragen bzw. setzen
Tabelle B.42
Prozesserkennungen erfragen
Syntax
|
Erfragen der …
|
pid_t getpid(void);
|
PID
|
pid_t getppid(void);
|
PPID
|
uid_t getuid(void);
|
reale User-ID
|
uid_t geteuid(void);
|
effektive User-ID
|
gid_t getgid(void);
|
reale Group-ID
|
gid_t getegid(void);
|
effektive Group-ID
|
Tabelle B.43
Prozesserkennungen setzen
Syntax
|
Ändern der …
|
int setuid(uid_t uid);
|
User-ID
|
int setgid(gid_t gid);
|
Group-ID
|
int seteuid(uid_t euid);
|
effektiven User-ID
|
int setegid(gid_t egid);
|
effektiven Group-ID
|
int setreuid(uid_t ruid,
uid_t euid);
|
tauschen der realen und effektiven User-ID
|
int setregid(gid_t rgid,
gid_t egid);
|
tauschen der realen und effektiven Group-ID
|
B.8.4 Prozesssteuerung
Tabelle B.44
Funktionen zur Erzeugung und Steuerung von Prozessen
Syntax
|
Bedeutung
|
pid_t fork(void);
|
Einen neuen Prozess erzeugen
|
pid_t wait(int *status);
|
Auf die Beendigung eines Prozesses warten
|
pid_t waitpid(pid_t pid,
int *status,
int options);
|
Auf die Beendigung eines bestimmten Prozesses warten
|
int execl(const char *path,
const char *arg, ...);
|
Wird einer dieser exec*-Funktionen aufgerufen, wird der aktuelle Prozess, von dem in exec* angegebenen Programm vollständig überlagert. Das neue Programm beginnt mit seiner Ausführung dann in der main()-Funktion.
|
int execlp(const char *file,
const char *arg,...);
|
|
int execle(const char *path,
const char *arg ,...,
char * const envp[]);
|
|
int execv(const char *path,
char *const argv[]);
|
|
int execvp(const char *file,
char *const argv[]);
|
|
int system(const char *string);
|
Shell-Kommandos ausführen
|
|
|
|
|
|
|
|
Ihre Meinung? |
|
|
|
|
|
|
Lieferung |
|
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz Info
|
|
|
|