6.1.1 Parametry procesu

Wymienione poniżej funkcje i elementy danych udostępniają informacje na temat bieżącego procesu i użytkownika oraz pozwalają na wykonywanie związanych z nimi operacji.

environ
Obiekt odwzorowawczy, reprezentujący środowisko procesu (będące w rzeczywistości napisem). Na przykład wartością wyrażenia environ['HOME'] jest (na niektórych platformach) ścieżka katalogu domowego bieżącego użytkownika, co odpowiada wyrażeniu getenv("HOME") w języku C.

Jeśli używana platforma obsługuje funkcję putenv(), możliwe jest nie tylko sprawdzanie, ale i modyfikowanie środowiska bezpośrednio poprzez odwzorowanie environ (przy modyfikacji środowiska zostanie automatycznie wywołana funkcja putenv()). Notka: Na niektórych platformach, m.in. w systemach FreeBSD i Mac OS X, modyfikowanie environ może spowodować wycieki pamięci. Odpowiedni opis można odnaleźć w dokumentacji systemu odnoszącej się do funkcji putenv.

Jeśli nie jest dostępna funkcja putenv(), można przekazać odwzorowanie odpowiednim funkcjom służącym do tworzenia procesów, co spowoduje, że procesy potomne będą funkcjonować w zmienionym środowisku.

chdir(ścieżka)
fchdir(fd)
getcwd()
Funkcje te opisane są w części "Pliki i katalogi" (sekcja 6.1.4). 6.1.4).

ctermid()
Zwraca nazwę pliku odpowiadającą terminalowi sterującemu procesu. Dostępność: Unix.

getegid()
Zwraca efektywny identyfikator grupy bieżącego procesu. Jest on związany z ustawionym znacznikiem "set id" na pliku wykonywanym przez bieżący proces. Dostępność: Unix.

geteuid()
 Zwraca efektywny identyfikator użytkownika bieżącego procesu. Dostępność: Unix.

getgid()
 Zwraca rzeczywisty identyfikator grupy bieżącego procesu. Dostępność: Unix.

getgroups()
Zwraca listę identyfikatorów dodatkowych grup związanych z bieżącym procesem. Dostępność: Unix.

getlogin()
Zwraca nazwę użytkownika zalogowanego przy użyciu terminala będącego terminalem sterującym bieżącego procesu. W większości zastosowań przydatniejsze jest odczytanie nazwy użytkownika ze zmiennej środowiskowej LOGNAME lub pobranie loginu na podstawie efektywnego identyfikatora użytkownika bieżącego procesu, korzystając z wyrażenia pwd.getpwuid(os.getuid())[0]. Dostępność: Unix.

getpgid(pid)
Zwraca identyfikator grupy procesów, do której należy proces o identyfikatorze równym pid. Jeśli wartością argumentu pid jest 0, zwracany jest identyfikator grupy procesów, do której należy bieżący proces. Dostępność: Unix. Dodano w wersji 2.3.

getpgrp()
 Zwraca identyfikator grupy procesów, do której należy bieżący proces. Dostępność: Unix.

getpid()
 Zwraca identyfikator bieżącego procesu. Dostępność: Unix, Windows.

getppid()
 Zwraca identyfikator procesu nadrzędnego dla bieżącego procesu. Dostępność: Unix.

getuid()
 Zwraca identyfikator użytkownika bieżącego procesu. Dostępność: Unix.

getenv(nazwa_zmiennej[, wartość])
Jeśli istnieje zmienna środowiskowa o nazwie nazwa_zmiennej, zwraca jej wartość, w przeciwnym wypadku zwracany jest argument wartość. Domyślną wartością argumentu wartość jest None. Dostępność: większość odmian systemu Unix, Windows.

putenv(nazwa_zmiennej, wartość)
 Ustawia wartość zmiennej środowiskowej o nazwie nazwa_zmiennej na napis wartość. Dokonane w ten sposób zmiany w środowisku wpływają na procesu potomne, utworzone przy pomocy funkcji os.system(), popen() lub fork() i execv(). Dostępność: większość odmian systemu Unix, Windows.

Notka: Na niektórych platformach, m.in. w systemach FreeBSD i Mac OS X, modyfikowanie environ może spowodować wycieki pamięci. Odpowiedni opis można odnaleźć w dokumentacji systemu odnoszącej się do funkcji putenv.

Jeśli w używanym systemie dostępna jest funkcja putenv(), przypisania do elementów obiektu os.environ są automatycznie tłumaczone na odpowiadające im wywołania funkcji putenv(). Nie występuje natomiast operacja odwrotna -- wywołania funkcji putenv() nie powodują zmian w os.environ, więc zalecaną metodą modyfikowania środowiska jest przypisywanie wartości elementom os.environ.

setegid(egid)
Ustawia efektywny identyfikator grupy bieżącego procesu. Dostępność: Unix.

seteuid(euid)
Ustawia efektywny identyfikator użytkownika bieżącego procesu. Dostępność: Unix.

setgid(gid)
Ustawia identyfikator grupy bieżącego procesu. Dostępność: Unix.

setgroups(grupy)
Ustawia listę identyfikatorów dodatkowych grup związanych z bieżącym procesem na grupy. Argument grupy powinien być sekwencją, której elementami są liczby całkowite identyfikujące grupy. Zazwyczaj operacja ta może być wykonywana wyłącznie przez użytkownika root. Dostępność: Unix. Dodano w wersji 2.2.

setpgrp()
Wywołuje funkcję systemową setpgrp() lub setpgrp(0, 0), zależnie od tego, która wersja została zaimplementowana (o ile dostępna jest którakolwiek). Opis przeznaczenia obu funkcji można odnaleźć w podręczniku systemu Unix. Dostępność: Unix.

setpgid(pid, pgrp)
Wywołuje funkcję systemową setpgid() celem ustawienia identyfikatora grupy procesów związanej z procesem o identyfikatorze pid na wartość pgrp. Opis przeznaczenia funkcji można odnaleźć w podręczniku systemu Unix. Dostępność: Unix.

setreuid(ruid, euid)
Ustawia rzeczywisty i efektywny identyfikator użytkownika bieżącego procesu. Dostępność: Unix.

setregid(rgid, egid)
Ustawia rzeczywisty i efektywny identyfikator grupy bieżącego procesu. Dostępność: Unix.

setsid()
Wywołuje funkcję systemową setsid(). Opis przeznaczenia funkcji można odnaleźć w podręczniku systemu Unix. Dostępność: Unix.

setuid(uid)
 Ustawia identyfikator użytkownika bieżącego procesu Dostępność: Unix.

strerror(kod)
Zwraca komunikat opisujący błąd o kodzie kod. Dostępność: Unix, Windows.

umask(maska)
Ustawia wartość umask procesu na maska i zwraca wartość poprzednią. Dostępność: Unix, Windows.

uname()
Zwraca pięcioelementową krotkę zawierającą informacje służące identyfikacji używanego systemu operacyjnego. Na krotkę składa się pięć napisów: (sysname, nodename, release, version, machine) (nazwa systemu, nazwa węzła, wydanie, wersja, maszyna). W niektórych systemach następuje obcięcie wartości nodename do ośmiu znaków lub do jego początkowej części, więc pełną nazwę węzła najlepiej pobrać przy użyciu funkcji socket.gethostname()  czy wręcz  socket.gethostbyaddr(socket.gethostname()). Dostępność: Nowoczesne odmiany systemu Unix.

Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.