أين يمكنني الحصول على قائمة بمكالمات نظام UNIX؟

StackOverflow https://stackoverflow.com/questions/2672470

  •  28-09-2019
  •  | 
  •  

سؤال

أين هي بعض قوائم مكالمات النظام على UNIX؟

لم يكن هذا سؤالي الأصلي ، لكن شكرًا على أي حال :)

هل كانت مفيدة؟

المحلول

man 2 syscalls

بصرف النظر عن ذلك ، يمكنك البحث في /usr/include/sys/syscall.h (الذي على نظامي فقط #includes /usr/include/bits/syscall.h). تم إنشاؤه في وقت بناء LIBC من قائمة kernel syscall.

يمكنك أيضًا grep مصدر kernel Linux لـ syscall_define. (لست خبيرًا في BSD ، لكنني أعتقد أن المكافئ في FreeBSD هو Syscall_Module)

نصائح أخرى

إقرأ ال بخير يدوي. لمكالمات النظام ، ابدأ بـ

man 2 intro

هكذا بدأت في يونيكس. لم يكن لدينا أي إنترنت فاخر في ذلك الوقت ...

للمسؤول ، IEEE std. 1003.1 / Single Unix Specification (UNIX 2004) Minpages ، انظر:

أ قائمة كاملة بالوظائف (واجهات النظام) يمكن العثور عليها تحت "واجهات النظام" أو على الرابط. أود أيضًا استخدام هذا كفرصة لتوصيل بلدي البحث عن التطوير / الترميز محرك البحث المخصص ، والذي يتضمن وينحاز بشكل كبير تجاه مواصفات UNIX الفردية / IEEE STD. 1003.1. على سبيل المثال ، البحث القياسي عن fopen, أغلق, يونيكس, ، إلخ. تم أخذ عروض ترويجية لضمان أن تكون نتائج الوثائق الموثوقة في الأعلى. إضافة "رجل" أمام الاستعلام بشكل كبير الأوزان النتيجة لصالح IEEE Std. 1003.1 صفحة MAN كما في يجد الرجل, رجل حر, رجل inttypes.h, ، وما إلى ذلك ، على الرغم من أن معظم الاستفسارات يجب أن تفضل IEEE STD. 1003.1 حتى بدون إضافة "رجل" (إذا لم يكن كذلك ، اكتب استعلام سيء و أخبرني).

ما هو نظام التشغيل ، بالضبط؟ يقوم القسم 2 بتوثيق Syscalls ، ومع ذلك ، فإن المجموعة الكاملة تختلف باختلاف نكهة Unix التي أنت عليها.

يحدد POSIX.1 مجموعة قياسية من واجهات نظام التشغيل ، ولكن لا يوجد نظام تشغيل يحد من نفسه فقط. بشكل عام ، لديك نكهات BSD و SYSV التي لها دلالات مختلفة قليلاً. ومع ذلك ، فإن أيام syscalls المفترضة هي في الواقع وظائف مكتبة شبه.

تتطلب الإجابة الحقيقية الوحيدة تثبيتًا محددًا وفحص الملف

 /usr/include/syscall.h

في FreeBSD ، أفضل مكان للبحث عن ما يستدعيه النظام هو في الملف /usr/src/sys/sys/syscall.h. هذا على FreeBSD 9.0

ما يجب عليك فعله حقًا هو الحصول على نسخة من "البرمجة المتقدمة في بيئة UNIX" من تأليف W. Richard Stevens. هذا ال كلاسيكي احجز عن كيفية برمجة نظام التشغيل Unix-like's. يعد الكتاب قديمًا و MacOS/iPhoneOs هو أكثر نكهات تقليدية مختلفة من UNIX ، لكن الكتاب طريقة رائعة لتعلم الأساسيات والشعور بكيفية استخدام واجهة برمجة التطبيقات. تحقق من ذلك في أمازون

في معظم البيئات ، ls /usr/man/2/ سيفعل الخدعة ، على الرغم من أنها قد تكون /usr/local/man أو /usr/share/man او حتى /usr/local/share/man.

تحرير: قد يكون هناك حتى MANPATH بيئة متغير يشير إليك إلى المكان الصحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top