.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1995, Thomas K. Dyas .\" and Copyright (C) 2016, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Created Sat Aug 21 1995 Thomas K. Dyas .\" .\" typo corrected, aeb, 950825 .\" added layout change from joey, 960722 .\" changed prototype, documented 0xffffffff, aeb, 030101 .\" Modified 2004-11-03 patch from Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH personality 2 "29. April 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG personality \- richtet die Prozess\-Ausführungsumgebung ein .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint personality(unsigned long \fP\fIRolle\fP\fB);\fP .fi .SH BESCHREIBUNG Linux unterstützt für jeden Prozess verschiedene Prozess\-Ausführungsumgebungen oder Personalitäten. Unter anderem mit den Prozess\-Ausführungsumgebungen bestimmt der Kernel, wie er Signalnummern in Signale umsetzen soll. Dieses System ermöglicht Linux teilweise, für andere UNIX\-artige Systeme kompilierte Programme direkt laufen zu lassen. .PP Falls \fIRolle\fP nicht 0xffffffff ist, setzt \fBpersonality\fP() die Ausführungsumgebung des Aufrufenden auf den durch \fIRolle\fP angegebenen Wert. Wird \fIRolle\fP als 0xffffffff angegeben, kann die aktuelle Rolle ermittelt werden, ohne sie zu ändern. .PP Eine Liste der verfügbaren Ausführungsumgebungen kann in \fI\fP gefunden werden. Die Ausführungsumgebung ist ein 32\-Bit\-Wert, in der die oberen drei Byte für Schalter, die den Kernel zur Veränderung bestimmter Systemaufrufe bewegen, bereitgestellt werden, damit historische oder architekturale Besonderheiten emuliert werden. Das unterste Byte ist ein Wert, der die Personalität definiert, die der Kernel annehmen sollte. Die Schalterwerte sind wie folgt: .TP \fBADDR_COMPAT_LAYOUT\fP (seit Linux 2.6.9) Ist dieser Schalter gesetzt, wird das veraltete virtuelle Arbeitspeicherlayout bereitgestellt. .TP \fBADDR_NO_RANDOMIZE\fP (seit Linux 2.6.12) Ist dieser Schalter gesetzt, wird Adressspeicherlayoutverwürfelung deaktiviert. .TP \fBADDR_LIMIT_32BIT\fP (seit Linux 2.2) Begrenzt den Adressraum auf 32\-Bit. .TP \fBADDR_LIMIT_3GB\fP (seit Linux 2.4.0) Ist dieser Schalter gesetzt, wird 0xc0000000 als Versatz verwendet, ab dem nach einem Datenblock virtuellen Speichers von \fBmmap\fP(2) gesucht wird, andernfalls wird 0xffffe000 benutzt. Nur bei 32\-bit\-Prozessen auf x86. .TP \fBFDPIC_FUNCPTRS\fP (seit Linux 2.6.11) Funktionszeiger im Benutzeradressraum auf Signalbehandlungsroutinen zeigen (auf bestimmten Architekturen) auf Deskriptoren. Nur auf ARM mit BINFMT_ELF_FDPIC und SuperH. .TP \fBMMAP_PAGE_ZERO\fP (seit Linux 2.4.0) Mappt Seite 0 als nur\-lesbar (um Programme zu unterstützen, die von diesem SVr4\-Verhalten abhängen). .TP \fBREAD_IMPLIES_EXEC\fP (seit Linux 2.6.8) Wird dieser Schalter gesetzt, impliziert \fBPROT_READ\fP \fBPROT_EXEC\fP für \fBmmap\fP(2). .TP \fBSHORT_INODE\fP (seit Linux 2.4.0) Kein Effekt. .TP \fBSTICKY_TIMEOUTS\fP (seit Linux 1.2.0) Ist dieser Schalter gesetzt, werden \fBselect\fP(2), \fBpselect\fP(2) und \fBppoll\fP(2) das zurückgegebene Zeitüberschreitungsargument nicht ändern, wenn sie durch eine Signalbehandlungsroutine unterbrochen werden. .TP \fBUNAME26\fP (seit Linux 3.1) Lässt \fBuname\fP(2) eine Versionsnummer von 2.6.(40+x) statt MAJOR.x melden. Wurde als Überbrückung hinzugefügt, um Anwendungen zu unterstützen, die mit der Versionsnummernumstellung von Linux 2.6.x auf 3.x nicht umgehen konnten. .TP \fBWHOLE_SECONDS\fP (seit Linux 1.2.0) Kein Effekt. .PP Die verfügbaren Ausführungsumgebungen sind: .TP \fBPER_BSD\fP (seit Linux 1.2.0) BSD. (Kein Effekt) .TP \fBPER_HPUX\fP (seit Linux 2.4) Unterstützung für 32\-Bit HP/UX. Diese Unterstützung war nie vollständig und wurde entfernt, so dass seit Linux 4.0 dieser Wert keinen Effekt hat. .TP \fBPER_IRIX32\fP (seit Linux 2.2) IRIX 5 32\-Bit. Funktionierte nie, die Unterstützung wurde in Linux 2.6.27 entfernt. Impliziert \fBSTICKY_TIMEOUTS\fP. .TP \fBPER_IRIX64\fP (seit Linux 2.2) IRIX 6 64\-Bit. Impliziert \fBSTICKY_TIMEOUTS\fP; ansonsten kein Effekt. .TP \fBPER_IRIXN32\fP (seit Linux 2.2) IRIX 6 new 32\-bit. Impliziert \fBSTICKY_TIMEOUTS\fP; ansonsten kein Effekt. .TP \fBPER_ISCR4\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP; ansonsten kein Effekt. .TP \fBPER_LINUX\fP (seit Linux 1.2.0) Linux. .TP \fBPER_LINUX32\fP (seit Linux 2.2) \fBuname\fP(2) liefert den Namen der 32\-bit\-Architektur im Feld \fImachine\fP zurück (»i686« anstatt »x86_64«, &c.). .IP Unter ia64 (Itanium) wird bei Prozessen mit dieser Ausführungsumgebung der Schalter O_LARGEFILE von \fBopen\fP(2) nicht erzwungen. .IP Unter 64\-bit\-ARM\-Architekturen ist das Setzen dieser Prozess\-Ausführungsumgebung verboten, falls das \fBexecve\fP(2)\-ieren eines 32\-bit\-Prozesses ebenfalls verboten ist (siehe den Kernelparameter allow_mismatched_32bit_el0 und \fIDocumentation/arm64/asymmetric\-32bit.rst\fP). .TP \fBPER_LINUX32_3GB\fP (seit Linux 2.4) Wie \fBPER_LINUX32\fP, aber impliziert \fBADDR_LIMIT_3GB\fP. .TP \fBPER_LINUX_32BIT\fP (seit Linux 2.0) Wie \fBPER_LINUX\fP, aber impliziert \fBADDR_LIMIT_32BIT\fP. .TP \fBPER_LINUX_FDPIC\fP (seit Linux 2.6.11) Wie \fBPER_LINUX\fP, aber impliziert \fBFDPIC_FUNCPTRS\fP. .TP \fBPER_OSF4\fP (seit Linux 2.4) .\" commit 987f20a9dcce3989e48d87cff3952c095c994445 .\" Following is from a comment in arch/alpha/kernel/osf_sys.c OSF/1 v4. Kein Effekt seit Linux 6.1, wo die Unterstützung für a.out\-Programme entfernt wurde. Davor würden unter Alpha die oberen 32 bit von iov_len im Puffer des Benutzer zurückgesetzt, um kompatibel zu alten Versionen von OSF/1 zu sein, bei denen iov_len als \fIint\fP definiert war. .TP \fBPER_OSR5\fP (seit Linux 2.4) SCO OpenServer 5. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBWHOLE_SECONDS\fP; ansonsten kein Effekt. .TP \fBPER_RISCOS\fP (seit Linux 2.3.7; Makro seit Linux 2.3.13) .\" commit 125ec7b4e90cbae4eed5a7ff1ee479cc331dcf3c Acorn RISC OS/Arthur (MIPS). Kein Effekt. Bis zu Linux v4.0 wurde die Emulation\-Altroot auf \fI/usr/gnemul/riscos\fP gesetzt (siehe \fBPER_SUNOS\fP nachfolgend). Davor, bis zu Linux 2.6.3, nur Arthur\-Emulation. .TP \fBPER_SCOSVR3\fP (seit Linux 1.2.0) SCO UNIX System V Release 3. Wie \fBPER_OSR5\fP, impliziert aber auch \fBSHORT_INODE\fP. .TP \fBPER_SOLARIS\fP (seit Linux 2.4) Solaris. Impliziert \fBSTICKY_TIMEOUTS\fP; ansonsten kein Effekt. .TP \fBPER_SUNOS\fP (seit Linux 2.4.0) Sun OS. Wie \fBPER_BSD\fP, aber impliziert \fBSTICKY_TIMEOUTS\fP. Vor Linux 2.6.26 wurden Bibliotheks\- und dynamische Linker\-Suchen nach \fI/usr/gnemul\fP umgelenkt. Fehlerhaft, größtenteils nicht betreut und fast komplett unbenutzt. .TP \fBPER_SVR3\fP (seit Linux 1.2.0) AT&T UNIX System V Release 3. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .TP \fBPER_SVR4\fP (seit Linux 1.2.0) AT&T UNIX System V Release 4. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBMMAP_PAGE_ZERO\fP; ansonsten kein Effekt. .TP \fBPER_UW7\fP (seit Linux 2.4) UnixWare 7. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBMMAP_PAGE_ZERO\fP; ansonsten kein Effekt. .TP \fBPER_WYSEV386\fP (seit Linux 1.2.0) WYSE UNIX System V/386. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .TP \fBPER_XENIX\fP (seit Linux 1.2.0) XENIX. Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .SH RÜCKGABEWERT Bei Erfolg wird die frühere \fIRolle\fP zurückgegeben. Tritt ein Fehler auf, ist der Rückgabewert \-1 und \fIerrno\fP wird gesetzt, um den Fehler anzuzeigen. .SH FEHLER .TP \fBEINVAL\fP Der Kernel konnte die Prozess\-Ausführungsumgebung nicht ändern. .SH STANDARDS Linux. .SH GESCHICHTE .\" (and thus first in a stable kernel release with Linux 1.2.0) .\" personality wrapper first appeared in glibc 1.90, .\" was added later in glibc 2.2.91. Linux 1.1.20, Glibc 2.3. .SH "SIEHE AUCH" \fBsetarch\fP(8) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Hanno Wagner , Martin Eberhard Schauer , Chris Leick , Mario Blättermann und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .