Wo kann ich eine Liste von UNIX-Systemaufrufen erhalten?

8

Wo sind einige Listen von Systemaufrufen unter UNIX?

Das war nicht meine ursprüngliche Frage, aber trotzdem danke:)

    
Oleg Razgulyaev 20.04.2010, 04:06
quelle

8 Antworten

7

man 2 syscalls

Abgesehen davon können Sie in /usr/include/sys/syscall.h nachsehen (was auf meinem System lediglich #usr/include/bits/syscall.h enthält). Das wird bei der libc-Erstellungszeit aus der kernel-syscall-Liste generiert.

Sie können auch die Linux-Kernel-Quelle für SYSCALL_DEFINE angeben. (Ich bin kein BSD-Experte, aber ich denke, das Äquivalent in FreeBSD ist SYSCALL_MODULE)

    
Ken Bloom 20.04.2010, 04:27
quelle
4

Lesen Sie das Fein Handbuch. Beginnen Sie bei Systemaufrufen mit

%Vor%

So habe ich in UNIX angefangen. Wir hatten damals kein schickes Internet ...

    
Duncan 20.04.2010 04:26
quelle
3

Für die offiziellen, maßgeblichen IEEE Std. 1003.1 / Einzel UNIX Spezifikation (UNIX 2004) Hilfeseiten, siehe:

Eine vollständige Liste der Funktionen (Systemschnittstellen) finden Sie unter "Systemschnittstellen" oder bei der Verbindung. Ich möchte dies auch als Gelegenheit nutzen, um meine Entwicklung / Codierungssuche benutzerdefinierte Suchmaschine, die die Single UNIX Specification / IEEE Std. beinhaltet und stark darauf ausgerichtet ist. 1003.1. Zum Beispiel eine Standardsuche für fopen , schließen , unix , usw. haben Werbeaktionen durchgeführt, um sicherzustellen, dass Ergebnisse von die maßgebliche Dokumentation steht ganz oben. Durch das Hinzufügen von "man" vor einer Abfrage wird das Ergebnis zugunsten der IEEE-Std gewichtet. 1003.1 man page wie in man finden Mann frei , < a href="http://www.google.com/cse?cx=005154715738920500810%3Afmizctlroiw&ie=UTF-8&q=man+intypepes.h&sa=Search"> man inttypes.h , usw., obwohl die meisten Anfragen IEEE Std bevorzugen. 1003.1 auch ohne Hinzufügen von "man" (wenn dies nicht der Fall ist, geben Sie schlechte Abfrage und sag es mir).

    
Michael Aaron Safyan 21.04.2010 05:35
quelle
2

Welches Betriebssystem genau? Man section 2 dokumentiert die syscalls, die vollständige Menge hängt jedoch davon ab, in welchem ​​UNIX-Stil Sie sich befinden.

POSIX.1 definiert einen Standardsatz von Betriebssystemschnittstellen, jedoch beschränkt sich kein Betriebssystem auf diese. Im Allgemeinen haben Sie die Geschmacksrichtungen BSD und SYSV, die eine etwas andere Semantik haben. Heute sind die angeblichen Syscalls jedoch quasi Bibliotheksfunktionen.

Die einzig wahre Antwort erfordert eine spezifische Installation und Überprüfung der Datei

%Vor%     
caskey 20.04.2010 05:20
quelle
1

Was Sie wirklich tun sollten, ist eine Kopie von "Advanced Programming in the Unix Environment" von W. Richard Stevens. Dies ist das klassische Buch zur Programmierung von Unix-ähnlichen Betriebssystemen. Das Buch ist alt und MacOs / iPhoneOs sind eine andere traditionelle Variante von Unix, aber das Buch ist ein guter Weg, um die Grundlagen zu lernen und ein Gefühl dafür zu bekommen, wie die APIs verwendet werden sollen. Schau es dir im Amazon

an     
Armentage 20.04.2010 04:40
quelle
1

In FreeBSD suchen Sie am besten in der Datei /usr/src/sys/sys/syscall.h nach dem, was das System anruft. Dies ist auf FreeBSD 9.0

    
Daniel Rudy 12.07.2012 15:06
quelle
0

In den meisten Umgebungen funktioniert ls /usr/man/2/ , obwohl es /usr/local/man oder /usr/share/man oder sogar /usr/local/share/man sein könnte.

BEARBEITEN: Es könnte sogar eine MANPATH -Umgebungsvariable geben, die Sie an die richtige Stelle führt.

    
Ben Voigt 20.04.2010 04:27
quelle

Tags und Links