.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1995, Thomas K. Dyas .\" and Copyright (C) 2016, Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 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 "15. März 2016" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG personality \- richtet die Prozess\-Ausführungsumgebung ein .SH ÜBERSICHT \fB#include \fP .sp \fBint personality(unsigned long \fP\fIpersona\fP\fB);\fP .SH BESCHREIBUNG Linux unterstützt für jeden Prozess verschiedene Prozess\-Ausführungsumgebungen. (Für den Zusammenhang mit den damit verbundenen, eng verwandten Begriffen Execution Domain und Personality siehe /usr/include/linux/personality.h). 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\-Systeme kompilierte Programme direkt laufen zu lassen. Falls \fIpersona\fP nicht 0xffffffff ist setzt \fBpersonality\fP() die Ausführungs\-Domain des Aufrufenden auf den durch \fIpersona\fP angegebenen Wert. Wird \fIpersona\fP als 0xffffffff angegeben, kann die aktuelle Persona ermittelt werden, ohne sie zu ändern. A list of the available execution domains can be found in \fI\fP. The execution domain is a 32\-bit value in which the top three bytes are set aside for flags that cause the kernel to modify the behavior of certain system calls so as to emulate historical or architectural quirks. The least significant byte is value defining the personality the kernel should assume. The flag values are as follows: .TP \fBADDR_COMPAT_LAYOUT\fP (seit Linux 2.6.9) With this flag set, provide legacy virtual address space layout. .TP \fBADDR_NO_RANDOMIZE\fP (seit Linux 2.6.12) With this flag set, disable address\-space\-layout randomization. .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 mmap(2) gesucht wird, andernfalls wird 0xffffe000 benutzt. .TP \fBFDPIC_FUNCPTRS\fP (seit Linux 2.6.11) Funktionszeiger im Benutzeradressraum auf Signalbehandlungsroutinen zeigen (auf bestimmten Architekturen) auf Deskriptoren. .TP \fBMMAP_PAGE_ZERO\fP (seit Linux 2.4.0) Map page 0 as read\-only (to support binaries that depend on this SVr4 behavior). .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 Versionnummer von 2.6.40+ statt 3.x melden. Wurde als Überbrückung hinzugefügt, um Anwendungen zu unterstützen, die mit der Versionsnummernumstellung von 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ührungsdomänen 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) [Muss dokumentiert werden.] .TP \fBPER_LINUX32_3GB\fP (seit Linux 2.4) Impliziert \fBADDR_LIMIT_3GB\fP. .TP \fBPER_LINUX_32BIT\fP (seit Linux 2.0) Impliziert \fBADDR_LIMIT_32BIT\fP. .TP \fBPER_LINUX_FDPIC\fP (seit Linux 2.6.11) Impliziert \fBFDPIC_FUNCPTRS\fP. .TP \fBPER_OSF4\fP (seit Linux 2.4) .\" Following is from a comment in arch/alpha/kernel/osf_sys.c OSF/1 v4. Unter Alpha werden 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) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBWHOLE_SECONDS\fP; ansonsten kein Effekt. .TP \fBPER_RISCOS\fP (seit Linux 2.2) [Muss dokumentiert werden.] .TP \fBPER_SCOSVR3\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP, \fBWHOLE_SECONDS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .TP \fBPER_SOLARIS\fP (seit Linux 2.4) Impliziert \fBSTICKY_TIMEOUTS\fP; ansonsten kein Effekt. .TP \fBPER_SUNOS\fP (seit Linux 2.4.0) Impliziert \fBSTICKY_TIMEOUTS\fP. Lenkt Bibliotheks\- und dynamische Linker\-Suchen nach \fI/usr/gnemul\fP um. Fehlerhaft, größtenteils nicht betreut und fast komplett unbenutzt; in Linux 2.6.26 wurde die Untersützung entfernt. .TP \fBPER_SVR3\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .TP \fBPER_SVR4\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBMMAP_PAGE_ZERO\fP; ansonsten kein Effekt. .TP \fBPER_UW7\fP (seit Linux 2.4) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBMMAP_PAGE_ZERO\fP; ansonsten kein Effekt. .TP \fBPER_WYSEV386\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .TP \fBPER_XENIX\fP (seit Linux 1.2.0) Impliziert \fBSTICKY_TIMEOUTS\fP und \fBSHORT_INODE\fP; ansonsten kein Effekt. .SH RÜCKGABEWERT Bei Erfolg wird die frühere \fIpersona\fP zurückgegeben. Tritt ein Fehler auf, ist der Rückgabewert \-1 und \fIerrno\fP wird entsprechend gesetzt. .SH FEHLER .TP \fBEINVAL\fP Der Kernel konnte die Prozess\-Ausführungsumgebung nicht ändern. .SH VERSIONEN .\" personality wrapper first appeared in glibc 1.90, .\" was added later in 2.2.91. Dieser Systemaufruf wurde in Linux 1.1.20 eingeführt (und daher erstmals in einer stabilen Kernelveröffentlichung mit Linux 1.2.0). Bibliotheksunterstützung wurde in glibc 2.3 hinzugefügt. .SH "KONFORM ZU" \fBpersonality\fP() ist Linux\-spezifisch und sollte nicht für portable Programme verwendet werden. .SH "SIEHE AUCH" \fBsetarch\fP(8) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.09 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Hanno Wagner , Martin Eberhard Schauer , Mario Blättermann , Helge Kreutzmann und Chris Leick erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .