
واجهة مستقلة عن العمليات لاستدعاءات نظام لينكس
لمزيد من التفاصيل حول المفاهيم والدوافع وراء rsyscall، اقرأ [[file:docs/conceptual.org][المقدمة المفاهيمية]].
لاحظ أن واجهة برمجة تطبيقات rsyscall في بايثون تستخدم بعض ميزات بايثون 3 الحديثة: async/await والتعليقات التوضيحية للأنواع. إذا لم تكن قد رأيتها من قبل، فتصفح [[file:docs/background.org][الدروس التمهيدية الأساسية]] أولاً.
ولكن، إذا كنت ترغب في تجربته، يمكنك القيام بذلك باستخدام Nix: #+begin_src bash git clone https://github.com/catern/rsyscall cd rsyscall/python nix-shell python #+end_src
أو يمكنك بناؤه يدويًا في بيئة افتراضية: #+begin_src bash git clone https://github.com/catern/rsyscall cd rsyscall python3 -m venv venv . venv/bin/activate pip install -U pip
cd c autoreconf -fvi ./configure --prefix=$PWD/../venv make install cd .. export LD_LIBRARY_PATH=$PWD/venv/lib export PKG_CONFIG_PATH=$PWD/venv/lib/pkgconfig
pip install -e python/ python #+end_src
In [2]: import rsyscall
In [3]: t = await rsyscall.local_process.fork()
In [4]: await t.stdout.write(await t.ptr("Hello world!\n")) Hello world! #+end_example