| SYD-FD(1) | General Commands Manual | SYD-FD(1) |
نام (NAME)
syd-fd - مدیریت توصیفکنندههای فایل در جعبهشنی syd
خلاصه دستور (SYNOPSIS)
syd-fd [-h] [-p pid] [-f
remote_fd[:local_fd]]... {command [args...]}
syd-fd [-hw] -u socket [-m msg] [-f
fd[,fd...]]...
توضیحات (DESCRIPTION)
ابزار syd-fd میتواند برای تعامل با توصیفکنندههای فایل در سیستمهای لینوکس مورد استفاده قرار گیرد. این ابزار در یکی از دو حالت زیر کار میکند: انتقال توصیفکنندههای فایل راه دور با استفاده از pidfd_getfd(2)، یا ارسال توصیفکنندههای فایل از طریق یک سوکت دامین یونیکس با SCM_RIGHTS.
در حالت نخست، در صورت تعیین تنها یک آرگومان PID با گزینه -p، فایلهای باز فرایند با PID دادهشده را در قالب JSON فشرده و خطمحور فهرست میکند. اگر هیچ آرگومان PID مشخص نشود، فایلهای باز فرایند جاری را فهرست میکند. میتوان از آرگومان -f برای انتقال توصیفکنندههای فایل راه دور با استفاده از pidfd_getfd(2) استفاده کرد که نیازمند لینوکس 5.6 یا بالاتر (Linux>=5.6) است. به عنوان یک امکان اختیاری، میتوان یک توصیفکننده فایل محلی را پس از دونقطه به عنوان مقصد اضافه کرد. برای تکثیر توصیفکننده فایل در یک خانه تصادفی آزاد از توصیفکنندههای فایل، عبارت "rand" را به عنوان مقصد مشخص کنید. اگر دستوری مشخص شده باشد، اجرا میشود و توصیفکنندههای فایل به فرایند منتقل میشوند. در صورت عدم تعیین دستور، "/bin/sh" اجرا میشود.
در حالت دوم که با گزینه -u انتخاب میشود، به سوکت دامین یونیکس مشخصشده متصل شده و یک پیام تکی حاوی توصیفکنندههای فایل ارائهشده با -f را به عنوان دادههای کمکی SCM_RIGHTS از unix(7) ارسال میکند. وجود علامت @ در ابتدای آدرس سوکت نشاندهنده یک سوکت یونیکس انتزاعی (abstract) است. آرگومانهای -f شمارههای توصیفکننده فایل محلی هستند: فراخواننده باید آنها را باز کند، برای نمونه با تغییر مسیرهای پوسته. خط پیام را میتوان با -m مشخص کرد که به طور پیشفرض خالی است. هر دو گزینه -m و -f اختیاری هستند، بنابراین این حالت میتواند برای ارسال پیامهای ساده بدون توصیفکننده فایل نیز استفاده شود. هرگونه محدودیت روی تعداد توصیفکنندهها در هر پیام تابع خطمشی دریافتکننده است: سوکت IPC در syd(2) دقیقاً یک توصیفکننده فایل پیکربندی را در هر پیام میپذیرد. به طور پیشفرض syd-fd بلافاصله پس از ارسال بدون انتظار برای پاسخ خارج میشود؛ با تعیین گزینه -w صرفنظر از آنچه ارسال شده منتظر دریافت پاسخ میماند و آن را تا زمانی که طرف مقابل اتصال را ببندد در خروجی استاندارد چاپ میکند. بالاتر از همه، این حالت برای بارگذاری پیکربندی جعبهشنی از طریق سوکت IPC در syd(2) کاربرد دارد. یک توصیفکننده فایلِ دریافتشده، درخواست بارگذاری را تشکیل میدهد و پیام حامل آن باید تنها شامل دستور "load" باشد.
گزینهها (OPTIONS)
| -h | نمایش راهنما. |
| -p pid | مشخص کردن شناسه فرایند (PID). در صورت عدم تعیین، توصیفکنندههای فایل فرایند جاری را فهرست میکند. |
| -f remote_fd[:local_fd] | مشخص کردن fd راه دور برای انتقال. میتوان یک fd محلی مقصد را پس از دونقطه اضافه کرد، یا "rand" را برای مقصدی تصادفی به کار برد. |
| -u socket | اتصال به سوکت دامین یونیکس و ارسال fdهای دادهشده با SCM_RIGHTS. وجود @ در ابتدا نشاندهنده یک سوکت انتزاعی است. توصیفکنندههای فایل برای ارسال با -f مشخص میشوند که میتواند تکرار شده یا با کاما جدا شود. |
| -m line | مشخص کردن خط پیام برای ارسال با گزینه -u. اختیاری است و به طور پیشفرض خالی میباشد. |
| -w | انتظار برای دریافت پاسخ هنگام استفاده از -u، صرفنظر از آنچه ارسال شده، و چاپ آن در خروجی استاندارد. به طور پیشفرض syd-fd بلافاصله پس از ارسال خارج میشود. |
وضعیت خروج (EXIT STATUS)
ابزار syd-fd با همان کد خروج دستور مشخصشده خارج میشود. با گزینه -u، در صورت موفقیت با کد 0 و در صورت شکست با شماره errno(3) مربوط به فراخوانی سیستمی شکستخورده خارج میشود.
مثالها (EXAMPLES)
بارگذاری پیکربندی جعبهشنی از طریق سوکت IPC در syd(2):
$ syd-fd -w -u @sandbox.sock -m load -f 3 3<paludis.syd-3
{"err":0,"msg":"ACK"}
همچنین ببینید (SEE ALSO)
syd(1), syd(2), syd(5), syd-lock(1), syd-pds(1), pidfd_getfd(1), unix(7)
وبگاه اصلی syd: https://sydbox.exherbo.org
نویسندگان (AUTHORS)
توسعه و نگهداری توسط Ali Polatel. کدهای منبع بهروز را میتوانید در https://gitlab.exherbo.org/sydbox/sydbox.git و در Radicle در rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF بیابید. گزارشهای اشکال و وصلهها را میتوان به https://gitlab.exherbo.org/groups/sydbox/-/issues ارسال کرد. گفتگو و تبادل نظر در کانال #sydbox در Libera Chat یا در #sydbox:mailstation.de در Matrix.
| 2026-09-01 |