SYSTEMD-SOCKET-ACTIVATE(1) systemd-socket-activate SYSTEMD-SOCKET-ACTIVATE(1)

systemd-socket-activate - آزمایش فعال‌سازی سوکت برای دیمن‌ها

systemd-socket-activate [OPTIONS...] COMMAND [ARGS...]

systemd-socket-activate می‌تواند برای راه‌اندازی یک برنامه سرویس فعال‌شونده با سوکت از خط فرمان جهت اهداف آزمایشی استفاده شود. همچنین می‌تواند برای راه‌اندازی نمونه‌های مجزای برنامه سرویس به ازای هر اتصال به کار رود.

دیمن مورد نظر برای راه‌اندازی و گزینه‌های آن باید پس از گزینه‌های در نظر گرفته شده برای systemd-socket-activate مشخص شوند.

اگر گزینه --inetd داده شود، توصیف‌کننده فایل سوکت به عنوان ورودی و خروجی استاندارد فرآیند راه‌اندازی‌شده استفاده خواهد شد. در غیر این صورت، ورودی و خروجی استاندارد به ارث برده می‌شوند و سوکت‌ها از طریق توصیف‌کننده‌های فایل ۳ و بالاتر منتقل خواهند شد. سوکت‌هایی که از طریق $LISTEN_FDS به systemd-socket-activate منتقل می‌شوند، در همان موقعیت‌های اصلی به دیمن منتقل خواهند شد. سایر سوکت‌های مشخص‌شده با --listen= از توصیف‌کننده‌های متوالی استفاده خواهند کرد. به طور پیش‌فرض، systemd-socket-activate روی یک سوکت جریانی (stream socket) گوش فرا می‌دهد؛ برای گوش دادن روی سوکت‌های دیتاگرام (datagram) یا بسته‌ای ترتیبی (sequential packet) به جای آن، از --datagram و --seqpacket استفاده کنید (زیر را ببینید).

-l address, --listen=address

روی این address (نشانی) گوش فرا می‌دهد. رشته‌ای مانند "2000" یا "127.0.0.1:2001" را می‌پذیرد.

در نسخه 230 اضافه شد.

-a, --accept

برای هر اتصال، یک نمونه از برنامه سرویس را راه‌اندازی کرده و سوکت اتصال را منتقل می‌کند. نباید با --now ترکیب شود.

در نسخه 230 اضافه شد.

-d, --datagram

به جای یک سوکت جریانی (SOCK_STREAM)، روی یک سوکت دیتاگرام (SOCK_DGRAM) گوش فرا می‌دهد. نباید با --seqpacket ترکیب شود.

در نسخه 230 اضافه شد.

--seqpacket

به جای یک سوکت جریانی (SOCK_STREAM)، روی یک سوکت بسته‌ای ترتیبی (SOCK_SEQPACKET) گوش فرا می‌دهد. نباید با --datagram ترکیب شود.

در نسخه 230 اضافه شد.

--inetd

از پروتکل inetd برای انتقال توصیف‌کننده‌های فایل استفاده می‌کند، یعنی به عنوان ورودی استاندارد و خروجی استاندارد، به جای پروتکل سبک جدید برای انتقال توصیف‌کننده‌های فایل با استفاده از $LISTEN_FDS (بالا را ببینید).

در نسخه 230 اضافه شد.

-E VAR[=VALUE], --setenv=VAR[=VALUE]

این متغیر را به محیط فرآیند راه‌اندازی‌شده اضافه می‌کند. اگر پس از VAR علامت "=" بیاید، فرض می‌شود که یک جفت متغیر–مقدار است. در غیر این صورت، مقدار را از محیط خود systemd-socket-activate به دست می‌آورد.

در نسخه 230 اضافه شد.

--fdname=NAME[:NAME...]

نام‌هایی را برای توصیف‌کننده‌های فایل منتقل‌شده مشخص می‌کند. این معادل تنظیم FileDescriptorName= در فایل‌های واحد سوکت است و امکان استفاده از sd_listen_fds_with_names(3) را فراهم می‌سازد. چندین ورودی را می‌توان با استفاده از گزینه‌های جداگانه یا با جدا کردن نام‌ها با دونقطه (":") در یک گزینه مشخص کرد. در صورتی که نام‌های داده‌شده بیشتر از توصیف‌کننده‌ها باشد، موارد اضافی نادیده گرفته خواهند شد. در صورتی که نام‌های داده‌شده کمتر از توصیف‌کننده‌ها باشد، توصیف‌کننده‌های فایل باقی‌مانده بدون نام خواهند بود.

در نسخه 230 اضافه شد.

--now

برنامه سرویس را فوراً شروع می‌کند، به جای اینکه منتظر اتصال روی سوکت(ها) بماند. نباید با --accept ترکیب شود.

در نسخه 258 اضافه شد.

-h, --help

یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود.

--version

یک رشته کوتاه نسخه را چاپ کرده و خارج می‌شود.

$LISTEN_FDS, $LISTEN_PID, $LISTEN_PIDFDID, $LISTEN_FDNAMES

به sd_listen_fds(3) مراجعه کنید.

در نسخه 230 اضافه شد.

$SYSTEMD_LOG_TARGET, $SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_TIME, $SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LOCATION

همانند systemd(1).

در نسخه 230 اضافه شد.

مثال 1. اجرای یک سرور echo روی درگاه 2000

$ systemd-socket-activate -l 2000 --inetd -a cat

مثال 2. اجرای یک نمونه فعال‌شونده با سوکت از systemd-journal-gatewayd(8)

$ systemd-socket-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd

systemd(1), systemd.socket(5), systemd.service(5), systemd-run(1), sd_listen_fds(3), sd_listen_fds_with_names(3), cat(1)

systemd 261.2