CTLINND(8) InterNetNews Documentation CTLINND(8)

ctlinnd - ابزار کنترل و ارسال دستور به سرور innd در INN

ctlinnd [-hs] [-t timeout] [command [argument ...]]

دستور ctlinnd پیامی را به کانال کنترلی innd(8)، دیمن اصلی InterNetNews، ارسال می‌کند.

در حالت عملکرد عادی، پیام به سرور ارسال می‌شود؛ سپس سرور اقدام درخواستی را انجام داده و پاسخی حاوی یک پیام متنی و یک کد خروج برای ctlinnd پس می‌فرستد. اگر سرور دستور را با موفقیت انجام دهد، ctlinnd پاسخ را در خروجی استاندارد چاپ کرده و با وضعیت صفر خارج می‌شود. اگر سرور نتواند دستور را اجرا کند، به ctlinnd دستور می‌دهد با وضعیت یک خارج شود. به‌طور پیش‌فرض، ctlinnd برای دریافت پاسخ از سوی innd به‌طور نامحدود منتظر می‌ماند؛ این رفتار را می‌توان با فلگ -t تغییر داد.

دستورهای "shutdown"، "xabort" و "xexec" پاسخی تولید نمی‌کنند، زیرا موجب خروج innd می‌شوند. پس از این دستورها، ctlinnd همواره بدون پیام و با وضعیت صفر خارج می‌شود.

خلاصه‌ای از دستورها را چاپ می‌کند. اگر همراه با فلگ -h یک دستور مشخص نیز داده شود، فقط نحوه استفاده از همان دستور نمایش داده خواهد شد.
در صورت موفقیت‌آمیز بودن دستور، خروجی دریافتی از innd را چاپ نمی‌کند.
مدت زمان انتظار برای دریافت پاسخ از سرور را برای دستورهایی غیر از "shutdown"، "xabort" و "xexec" مشخص می‌کند. مقدار timeout تعداد ثانیه‌های انتظار است. مقدار صفر به معنی انتظار همیشگی (نامحدود) است، و مقدار کمتر از صفر یعنی اصلاً منتظر نماند و بلافاصله با وضعیت صفر خارج شود. هنگام انتظار برای پاسخ، ctlinnd هر دو دقیقه یک‌بار بررسی می‌کند تا مطمئن شود سرور همچنان در حال اجراست؛ این کار احتمال قفل شدن و معلق ماندن ctlinnd را کاهش می‌دهد.

مقدار پیش‌فرض صفر است که مشخص می‌کند ctlinnd باید به‌طور نامحدود منتظر بماند.

در ادامه فهرست کامل دستورهای پشتیبانی‌شده آمده است. توجه داشته باشید که تقریباً تمام دستورها دارای تعداد آرگومان‌های ثابتی هستند. اگر پارامتری بتواند یک رشته خالی باشد، همچنان لازم است که رشته خالی به‌عنوان آرگومان به ctlinnd ارسال شود (در شل به‌صورت دو علامت نقل‌قول در کنار هم مشخص می‌شود، مانند '').

یک مدخل برای message-id به پایگاه‌داده تاریخچه (history) اضافه می‌کند. قلاب‌های زاویه‌دار (علامت‌های کوچک‌تر/بزرگ‌تر) در اطراف message-id اختیاری هستند. معمولاً باید با استفاده از کوتیشن‌های تکی (single quotes) در برابر تفسیر پوسته محافظت شود.

آرگومان‌های arrival، expires و posted باید تعداد ثانیه‌ها از مبدأ زمان یونیکس (epoch) باشند و به ترتیب نشان‌دهنده زمان دریافت مقاله، زمان انقضای آن (از طریق فیلد هدر Expires) و زمان ارسال آن (مشخص‌شده در فیلد هدر Date) هستند. اگر مقاله فاقد فیلد هدر Expires باشد، expires باید "0" باشد. token توکن API ذخیره‌سازی برای مقاله است و می‌تواند خالی باشد.

این دستور فقط در زمان فعال بودن و اجرای سرور قابل استفاده است و در صورتی که سرور در حالت مکث (paused) یا محدودشده (throttled) باشد، رد خواهد شد.

اتصال‌های از راه دور را مجاز می‌کند و دستور پیشین "reject" را لغو می‌نماید. مقدار reason باید همان متنی باشد که به دستور "reject" داده شده بود، یا یک رشته خالی باشد (که با هر دلیلی تطابق دارد).
ارسال فید به site را آغاز می‌کند. سرور فایل newsfeeds را دوباره پویش می‌کند تا سایت مشخص‌شده را پیدا کند و یک فید خبری برای آن تنظیم نماید. اگر سایت از قبل وجود داشته باشد، ابتدا یک عملیات "drop" برای آن سایت انجام می‌شود. این دستور فوروارد (هدایت) می‌شود؛ بخش «نکات (NOTES)» را در ادامه ببینید.
مقاله‌ای با message-ID مشخص‌شده را از سیستم محلی حذف می‌کند. این کار پیام کنترلی cancel تولید نمی‌کند؛ بلکه فقط بر سیستم محلی اثر می‌گذارد. قلاب‌های زاویه‌دار در اطراف message-ID اختیاری هستند. این شناسه معمولاً باید در برابر پوسته با کوتیشن‌های تکی (و نه کوتیشن‌های دوگانه) محافظت شود؛ برای مثال:
ctlinnd cancel 'test@foo.bar'

توجه داشته باشید که پایگاه‌داده تاریخچه با Message-ID مشخص‌شده به‌روز می‌شود؛ بنابراین اگر مقاله‌ای با همان Message-ID بعداً دریافت شود، رد خواهد شد؛ این امر برای رد کردن هرزنامه‌ها قبل از دریافت آن‌ها بسیار مفید است.

اگر سرور به‌صورت دستی در حالت throttle قرار گرفته باشد، این دستور باعث می‌شود پایگاه‌داده تاریخچه را برای مدت کوتاهی باز کند. اگر سرور به هر دلیل دیگری در حالت مکث (pause) یا محدود (throttle) باشد، این دستور رد می‌شود.

گروه خبری group را تغییر می‌دهد تا وضعیت آن (فیلد چهارم در فایل active) به status تبدیل شود. برای مثال می‌توان از این دستور برای مدیردار (moderated) یا بدون‌مدیر (unmoderated) کردن یک گروه موجود استفاده کرد.

این دستور، بر خلاف "newgroup" یا "rmgroup"، تنها در صورتی قابل استفاده است که سرور در حال اجرا باشد، و در صورت مکث یا محدود بودن سرور، رد خواهد شد.

نحو (syntax) فایل newsfeeds را بررسی می‌کند و در صورت یافتن هرگونه خطا، پیامی را نمایش می‌دهد. جزئیات خطاها در syslog ثبت و گزارش می‌شوند.
بافر مربوط به site را تخلیه (flush) کرده و آن را از فهرست فیدهای فعال سرور حذف (drop) می‌کند. این دستور فوروارد می‌شود؛ بخش «نکات (NOTES)» را در ادامه ببینید.
اطلاعات مفصلی را درباره وضعیت فید به site چاپ می‌کند، یا اگر site یک رشته خالی باشد، وضعیت خلاصه‌ای از تمام فیدها را ارائه می‌دهد.
بافر سایت مشخص‌شده را تخلیه (flush) می‌کند. اقدام انجام‌شده به نوع فیدی که سایت دریافت می‌کند بستگی دارد؛ برای اطلاعات بیشتر به newsfeeds(5) مراجعه کنید. این دستور زمانی مفید است که سایت از طریق یک فایل تغذیه می‌شود و دسته‌بندی (batching) در آستانه آغاز است، یا برای بستن تمیز و اجرای مجدد یک فید کانالی به کار می‌رود. اگر site یک رشته خالی باشد، تمام سایت‌ها تخلیه می‌شوند و فایل active و پایگاه‌داده تاریخچه نیز روی دیسک ذخیره و همگام (flush) می‌شوند. این دستور فوروارد می‌شود؛ بخش «نکات (NOTES)» را در ادامه ببینید.

تخلیه فید کانال innfeed روش توصیه‌شده برای راه‌اندازی مجدد innfeed جهت اعمال پیکربندی‌های جدید است. innd یک پردازش جدید innfeed ایجاد می‌کند در حالی که پردازش قدیمی به‌صورت تمیز بسته می‌شود.

فایل‌های لاگ اخبار و خطا را می‌بندد و با افزودن پسوند ".old" به نام فایل‌ها آن‌ها را تغییر نام می‌دهد، سپس فایل‌های لاگ جدید اخبار و خطا را باز می‌کند. همچنین فایل active و پایگاه‌داده تاریخچه روی دیسک تخلیه و ذخیره می‌شوند. کانال‌های پردازش و exploder بازگشایی می‌شوند تا فایل‌های لاگ جدید را به درستی به کار گیرند.
پایگاه‌داده تاریخچه را دوباره باز می‌کند و پذیرش مقالات را از سر می‌گیرد، که دستور قبلی "pause" یا "throttle" را لغو می‌کند. مقدار reason باید یک رشته خالی باشد یا با متنی که پیش‌تر به دستور "pause" یا "throttle" داده شده بود مطابقت داشته باشد.

اگر دستور "reject" در حال اجرا باشد، در صورت تطابق دلیل با reason، با اجرای معادل دستور "allow" آن را نیز لغو می‌کند. به همین ترتیب، اگر دستور "reserve" داده شده باشد، در صورتی که reason با متنی که به "reserve" داده شده بود تطابق داشته باشد، رزرو را پاک خواهد کرد.

پایگاه‌داده تاریخچه در هنگام "throttle" یا "pause" به‌طور خودکار بسته می‌شود و با "go" مجدداً باز می‌گردد، بنابراین می‌توان پایگاه‌داده تاریخچه را در طول مکث یا محدودسازی بدون نیاز به دستور صریح "reload" جایگزین کرد. اگر هر یک از فایل‌های پیکربندی دیگر یا فایل active تغییر کرده باشند، باید یک دستور "reload" داده شود تا سرور وادار به خواندن مجدد آن فایل‌ها گردد.

اگر سرور به دلیل انباشته شدن خطاهای ورودی/خروجی (I/O) زیاد خود را محدود (throttle) کرده باشد، این دستور شمارنده خطا را بازنشانی می‌کند.

اگر innd با فلگ -n y شروع نشده باشد، این دستور همچنین معادل دستور "readers" با فلگ "yes" و متن reason عمل خواهد کرد.

سوکت مربوط به کانال ورودی مشخص‌شده را می‌بندد. این کار هنگامی که به نظر می‌رسد یک اتصال ورودی معلق مانده یا قفل کرده، می‌تواند مفید باشد (هرچند innd اتصال‌های غیرفعال را پس از گذشت مدت‌زمان مشخص‌شده در peertimeout در فایل inn.conf به‌صورت خودکار می‌بندد).
خلاصه‌ای از همه دستورها را چاپ می‌کند، یا در صورت مشخص شدن command، فقط راهنمای همان دستور را نمایش می‌دهد. این دستور معادل گزینه -h است.
سیگنال signal را به پردازش زیربنایی سایت مشخص‌شده ارسال می‌کند، که باید یک فید کانالی یا exploder باشد. signal می‌تواند یک شماره عددی سیگنال یا یکی از مقادیر "hup"، "int" یا "term" باشد؛ بزرگی و کوچکی حروف اهمیتی ندارد.
باعث می‌شود سرور حالت عملیاتی فعلی خود را در syslog ثبت کند.
نشانه‌های حداقل شماره مقالات (low water marks) را در فایل active بر اساس محتویات file بازنشانی می‌کند. هر خط در file باید به این شکل باشد:
group low-value

برای مثال:

comp.lang.c++ 243

این دستور عمدتاً توسط news.daily برای به‌روزرسانی فایل active پس از انقضای شبانه استفاده می‌شود.

حالت عملیاتی سرور را به‌عنوان خلاصه‌ای چندخطی از پارامترها و وضعیت کارکرد چاپ می‌کند. پارامترهای موجود در خروجی متناظر با فلگ‌های خط فرمان innd هستند و تنظیمات فعلی آن دسته از پارامترهایی را نشان می‌دهند که می‌توانند توسط فلگ‌های خط فرمان بازنویسی و جایگزین شوند.
نام و اطلاعات مربوط به شماره کانال ورودی یا خروجی داده‌شده را چاپ می‌کند، یا اگر channel یک رشته خالی باشد، اطلاعات تمام کانال‌ها را نمایش می‌دهد. پاسخ به این صورت قالب‌بندی می‌شود:
<name>:<number>:<type>:<idle>:<status>

که در آن <name> نام کانال، <number> شماره آن (معمولاً همان توصیف‌کننده فایل تخصیص‌یافته به آن)، <idle> مدت زمان بیکاری برای یک کانال NNTP یا شناسه پردازش (PID) برای یک کانال پردازشی، و <status> وضعیت کانال‌های NNTP است.

فیلد <type> یکی از مقادیر زیر است:

control     Control channel for ctlinnd
file        An outgoing file feed
localconn   Local channel used by nnrpd and rnews for posting
nntp        NNTP channel for remote connections
proc        The process for a process feed
remconn     The channel that accepts new remote connections

وضعیت کانال نشان می‌دهد که آیا کانال در حالت مکث است یا خیر. چیزی نمایش داده نمی‌شود مگر اینکه کانال در حالت مکث باشد که در آن صورت "paused" نشان داده می‌شود. اگر تعداد اتصال‌های از راه دور برای آن برچسب در incoming.conf در عرض hold-time ثانیه بیشتر از max-connections شود، کانال به‌طور خودکار به حالت مکث درخواهد آمد.

گروه خبری مشخص‌شده را ایجاد می‌کند. پارامتر status فیلد چهارم مدخل در فایل active است، همان‌طور که در active(5) شرح داده شده است. اگر علامت مساوی نباشد، فقط کاراکتر اول استفاده می‌شود. creator باید هویت شخصی باشد که گروه را ایجاد می‌کند. اگر گروه خبری از قبل وجود داشته باشد، این دستور معادل دستور "changegroup" خواهد بود.

شناسه creator، در صورت مشخص شدن با کدگذاری UTF-8، می‌تواند حذف شود؛ در این صورت، مقدار پیش‌فرض آن newsmaster خواهد بود (همان‌طور که در زمان پیکربندی و ساخت مشخص شده، معمولاً "usenet"). پارامتر status نیز می‌تواند حذف شود؛ در این صورت مقدار پیش‌فرض آن "y" (یک گروه عادی و بدون‌مدیر) خواهد بود. ترکیب این مقادیر پیش‌فرض استفاده مستقیم از متن فیلد هدر Control را ممکن می‌سازد (هرچند این کار را بدون بررسی اولیه صحت نحوی فیلد هدر انجام ندهید).

این دستور فقط زمانی قابل اجراست که سرور در حال اجرا باشد یا به‌صورت دستی محدود (throttled) شده باشد. هنگام ارسال دستور "go"، وضعیت داخلی خود را به‌روزرسانی می‌کند. این دستور فایل active.times را نیز به‌روزرسانی می‌کند. این دستور فوروارد می‌شود؛ بخش «نکات (NOTES)» را در ادامه ببینید.

پارامتر مشخص‌شده سرور را تغییر می‌دهد. letter گزینه خط فرمان innd برای تنظیم است و value مقدار جدید است. برای مثال:
ctlinnd param i 5

به سرور دستور می‌دهد که فقط پنج اتصال ورودی را مجاز بداند. برای فعال یا غیرفعال کردن عملکرد فلگ -n، از "n" برای حرف و به ترتیب از "y" یا "n" برای مقدار استفاده کنید.

مقادیر پشتیبانی‌شده برای letter عبارت‌اند از: "a"، "c"، "H"، "i"، "l"، "n"، "o"، "T"، "t" و "X"

سرور را موقتاً متوقف (مکث) می‌کند تا هیچ مقاله ورودی جدیدی پذیرفته نشود. هیچ‌یک از اتصال‌های موجود بسته نمی‌شوند، اما پایگاه‌داده تاریخچه بسته می‌شود. این دستور باید برای قفل‌های کوتاه‌مدت، مانند زمان جایگزینی پایگاه‌داده تاریخچه، استفاده شود. اگر سرور با فلگ -n y راه‌اندازی نشده باشد، این دستور همچنین معادل اجرای دستور "readers" با فلگ "no" و متن reason با کدگذاری UTF-8 خواهد بود.
فیلتر کردن پرل (Perl) را برای هر مقاله‌ای که توسط innd دریافت می‌شود فعال یا غیرفعال می‌کند. این دستور تنها در صورتی در دسترس است که INN با پشتیبانی از فیلتر پرل ساخته شده باشد. اگر flag با حرف "y" شروع شود، فیلتر کردن فعال می‌شود؛ اگر با "n" شروع شود، فیلتر کردن غیرفعال خواهد شد.

هنگامی که فیلتر غیرفعال می‌شود، اگر فیلتر پرل filter_innd.pl تابعی به نام "filter_end" را تعریف کرده باشد، پیش از غیرفعال‌سازی فیلتر فراخوانی خواهد شد.

توجه داشته باشید که فعال یا غیرفعال کردن فیلتر پرل برای هر پستی که توسط nnrpd دریافت می‌شود، با پارامتر دسترسی perlfilter در فایل readers.conf تنظیم می‌شود.

فیلتر کردن پایتون (Python) را برای هر مقاله‌ای که توسط innd دریافت می‌شود فعال یا غیرفعال می‌کند. این دستور تنها در صورتی در دسترس است که INN با پشتیبانی از فیلتر پایتون کامپایل شده باشد. اگر flag با "y" شروع شود، فیلتر فعال می‌شود؛ اگر با "n" شروع شود، فیلتر غیرفعال خواهد شد.
دسترسی خوانندگان را مجاز یا غیرمجاز می‌کند. اگر flag با حرف "n" شروع شود، خواندن با ارسال text به‌عنوان مقدار فلگ -r به nnrpd غیرمجاز می‌شود. اگر flag با حرف "y" شروع شود و text یک رشته خالی یا همان رشته‌ای با کدگذاری UTF-8 باشد که هنگام غیرفعال کردن خواندن استفاده شده بود، خواندن دوباره فعال خواهد شد.

مزیت این پارامتر نسبت به noreader در فایل inn.conf این است که امکان تعیین یک پیام سفارشی را فراهم می‌کند.

اگر nnrpd به‌جای ایجاد شدن توسط innd، به‌صورت جداگانه اجرا شده باشد، این دستور هیچ اثری نخواهد داشت.

اتصال‌های از راه دور (آن‌هایی که به nnrpd تحویل داده نمی‌شوند) رد می‌شوند و reason با کدگذاری UTF-8 به‌عنوان توضیح ارائه می‌گردد. اتصال‌های موجود بسته نمی‌شوند.
نسخه بارگذاری‌شده فایل‌های پیکربندی سرور در حافظه را به‌روزرسانی (بازخوانی) می‌کند. what مشخص می‌کند چه چیزی باید بازخوانی شود و reason در پیامی که به بارگذاری مجدد اشاره دارد به syslog گزارش می‌شود.

هیچ راهی برای بازخوانی مجدد inn.conf، storage.conf یا سایر فایل‌های پیکربندی برای بک‌اند ذخیره‌سازی یا مرور کلی (overview) وجود ندارد. برای اعمال تغییرات در آن فایل‌ها، از "ctlinnd xexec innd" برای راه‌اندازی مجدد innd استفاده کنید.

اگر what یک رشته خالی یا واژه "all" باشد، همه چیز دوباره بارگذاری می‌شود. اگر واژه "history" باشد، پایگاه‌داده تاریخچه بسته و دوباره باز می‌شود. اگر واژه "incoming.conf" باشد، فایل مربوطه مجدداً بارگذاری می‌شود. اگر واژه "active" یا "newsfeeds" باشد، هر دو فایل active و newsfeeds مجدداً بارگذاری می‌شوند، که همچنین باعث تخلیه (flush) و راه‌اندازی مجدد تمام فیدهای خروجی خواهد شد.

اگر what واژه "filter.perl" باشد، فایل filter_innd.pl مجدداً بارگذاری می‌شود. (البته این فایل برای بارگذاری مجدد در دسترس نیست مگر اینکه INN با پشتیبانی از فیلتر پرل کامپایل شده باشد). اگر فیلتر پرل تابعی به نام "filter_before_reload" را تعریف کرده باشد، قبل از خواندن مجدد filter_innd.pl فراخوانی خواهد شد. اگر تابع پرل "filter_after_reload" تعریف شده باشد، پس از بارگذاری مجدد filter_innd.pl فراخوانی می‌شود. بارگذاری مجدد فیلتر پرل در صورت غیرفعال بودن فیلتر، آن را فعال نمی‌کند؛ برای این کار از "perl y" استفاده کنید. فایل startup_innd.pl نمی‌تواند مجدداً بارگذاری شود.

اگر what واژه "filter.python" باشد، فایل filter_innd.py مجدداً بارگذاری می‌شود. (البته این فایل برای بارگذاری مجدد در دسترس نیست مگر اینکه INN با پشتیبانی از فیلتر پایتون کامپایل شده باشد). اگر متد پایتونی به نام "filter_before_reload" وجود داشته باشد، قبل از خواندن مجدد filter_innd.py فراخوانی می‌شود. اگر متد پایتونی به نام "__init__" وجود داشته باشد، پس از بارگذاری مجدد filter_innd.py فراخوانی خواهد شد. بارگذاری مجدد فیلتر پایتون در صورت غیرفعال بودن فیلتر، آن را فعال نمی‌کند؛ برای این کار از "python y" استفاده کنید.

نشانه‌های حداقل و حداکثر شماره مقالات (low water و high water marks) را برای group در فایل active بر اساس اطلاعات پایگاه‌داده مرور کلی (overview) به‌روزرسانی می‌کند. صرف‌نظر از محتویات پایگاه‌داده overview، نشانه حداکثر کاهش نخواهد یافت. (کاهش آن ممکن است باعث تخصیص شماره‌های مقاله تکراری پس از بروز خرابی یا کرش شود که می‌تواند مشکلات جدی در روش ذخیره‌سازی tradspool ایجاد کند). اگر group رشته خالی باشد، تمام گروه‌های خبری شماره‌گذاری مجدد می‌شوند. شماره‌گذاری مجدد فقط در صورتی کار می‌کند که داده‌های overview ایجاد شده باشند (اگر enableoverview در inn.conf روی true تنظیم شده باشد).
کاملاً مشابه دستور "lowmark" است.
دستور بعدی "pause" یا "throttle" را ملزم می‌کند که از reason با کدگذاری UTF-8 به‌عنوان دلیل خود استفاده کند. این رزرو با دادن یک رشته خالی برای دلیل پاک می‌شود. این کار توسط برنامه‌هایی مانند expire برای هماهنگ‌سازی مکث‌ها و محدودسازی‌های سرور و جلوگیری از تداخل با نمونه‌های دیگر خود استفاده می‌شود.
گروه خبری مشخص‌شده را حذف می‌کند. گروه از فایل active حذف شده و اطلاعات مرور کلی آن پاک می‌شود، که باعث می‌شود بلافاصله برای خوانندگان غیرقابل دسترس گردد. بر خلاف دستور "newgroup"، این دستور فایل active.times را به‌روزرسانی نمی‌کند.

این دستور فقط زمانی قابل اجراست که سرور در حال اجرا باشد یا به‌صورت دستی محدود (throttled) شده باشد. این دستور فوروارد می‌شود؛ بخش «نکات (NOTES)» را در ادامه ببینید.

متن مشخص‌شده text به‌عنوان یک خط کنترلی به فید exploder به نام feed ارسال می‌شود.
سرور خاموش می‌شود، دلیل مشخص‌شده در لاگ ثبت شده و به تمام اتصال‌های باز فرستاده می‌شود. ایده خوبی است که ابتدا یک دستور "throttle" ارسال شود تا فیدها بتوانند به‌طور ملایم‌تر و منظم‌تری بسته شوند.

اگر فیلتر پرل یا پایتون کامپایل شده و فعال باشد، توابع خاصی در هنگام "throttle" یا "shutdown" فراخوانی می‌شوند (برای مثال جهت ذخیره وضعیت فیلتر روی دیسک). برای جزئیات به مستندات فیلتر تعبیه‌شده مراجعه کنید.

تولید آمار عملکرد پایگاه‌داده تاریخچه را فعال یا غیرفعال می‌کند. اگر پارامتر "off" باشد، هیچ آماری جمع‌آوری نمی‌شود. در غیر این صورت، آمار در فایل مشخص‌شده نوشته می‌شود. یک تجزیه‌کننده برای این فایل در شاخه contrib توزیع INN ارائه شده است. برای اطلاعات درباره نحوه تنظیم مقدار پیش‌فرض، به stathist در inn.conf(5) مراجعه کنید.
تناوب زمانی گزارش اطلاعات وضعیت توسط innd به syslog را تنظیم می‌کند. اگر "off" یا "0" به‌عنوان آرگومان داده شود، گزارش وضعیت خاموش می‌شود. در غیر این صورت، وضعیت هر interval ثانیه یک‌بار گزارش خواهد شد. برای اطلاعات در مورد نحوه تنظیم مقدار پیش‌فرض، به status در inn.conf(5) مراجعه کنید.
تمام اتصال‌های ورودی و فیدهای خروجی موجود را می‌بندد و اتصال‌های جدید را رد می‌کند. پایگاه‌داده تاریخچه را می‌بندد. این دستور باید برای قفل‌های طولانی‌مدت یا برای اجرای تعداد زیادی از دستورهای "newgroup" و "rmgroup" بدون راه‌اندازی مجدد تمام فیدهای خروجی در میان هر یک از آن‌ها استفاده شود. (توجه داشته باشید که هنگام محدود بودن سرور، تغییر وضعیت گروه‌های خبری موجود امکان‌پذیر نیست).

اگر سرور با فلگ -n y شروع نشده باشد، این دستور همچنین معادل دستور "readers" با فلگ "no" و متن reason با کدگذاری UTF-8 عمل خواهد کرد.

تناوب زمانی گزارش اطلاعات عملکرد توسط innd به syslog را تنظیم می‌کند. در صورتی که "off" یا "0" به‌عنوان آرگومان داده شود، نظارت بر عملکرد خاموش می‌شود. در غیر این صورت، آمار هر interval ثانیه یک‌بار به syslog گزارش خواهد شد. برای اطلاعات در مورد نحوه تنظیم مقدار پیش‌فرض، به timer در inn.conf(5) مراجعه کنید.
ردیابی (tracing) را برای item مشخص‌شده روشن یا خاموش می‌کند. flag باید به ترتیب با حرف "y" یا "n" شروع شود تا ردیابی روشن یا خاموش گردد. اگر item با یک عدد شروع شود، ردیابی برای کانال مشخص‌شده در innd تنظیم می‌شود که باید یک فید ورودی NNTP باشد. اگر با حرف "i" شروع شود، ردیابی عمومی innd روشن یا خاموش می‌شود. اگر با حرف "n" شروع شود، حسب مورد، در پردازش‌های آتی nnrpd که توسط "innd" ایجاد می‌شوند فلگ -t اعمال خواهد شد یا خیر. این مورد هیچ تاثیری بر پردازش‌های در حال اجرای nnrpd یا پردازش‌های nnrpd که با روشی غیر از innd شروع شده‌اند نخواهد داشت.
دلیل مشخص‌شده reason را در لاگ ثبت کرده و سپس پردازش را با شکست مواجه و متوقف (abort) می‌کند. در بیشتر سیستم‌ها، این کار باعث می‌شود innd یک فایل core dump تولید کند. این دستور صرفاً برای اشکال‌زدایی مفید است.
سرور را خاموش می‌کند، اما به جای خروج، innd را با تمام آرگومان‌های اصلی آن به جز -r دوباره اجرا (exec) می‌کند. path می‌تواند "innd" یا یک رشته خالی باشد که هر دو معادل یکدیگرند. هر مقدار دیگری منجر به خطا خواهد شد.

این ساده‌ترین راه برای راه‌اندازی نسخه جدیدی از innd پس از ارتقا، یا بارگذاری مجدد فایل‌های پیکربندی است که نمی‌توان آن‌ها را از طریق دستور "reload" مجدداً بارگذاری کرد.

علاوه بر اقدام توسط سرور، برخی از دستورها می‌توانند به یک پردازش فرزند مناسب فوروارد (ارسال) شوند. اگر سایتی که دستور را دریافت می‌کند یک exploder (مانند buffchan) یا یک funnel باشد که به یک exploder متصل است، دستور می‌تواند فوروارد شود. در این حالت، سرور یک خط فرمان متشکل از نام دستور ctlinnd را به exploder ارسال می‌کند. اگر سایت به یک exploder متصل باشد که در فلگ "W" خود یک ستاره ("*") دارد (برای اطلاعات بیشتر در مورد مشخصات فیدها به newsfeeds(5) مراجعه کنید)، نام سایت به انتهای دستور اضافه می‌شود؛ در غیر این صورت هیچ آرگومانی اضافه نخواهد شد.

دستور ctlinnd در اکثر سیستم‌ها برای برقراری ارتباط با innd از سوکت‌های دامنه یونیکس (Unix domain sockets) استفاده می‌کند و بنابراین به حداکثر اندازه بسته‌ای که سیستم‌عامل برای دیتاگرام‌های دامنه یونیکس تحمیل می‌کند محدود است. این موضوع ممکن است به این معنی باشد که در برخی سیستم‌ها پاسخ‌های سرور به 4 KB محدود می‌شوند.

توسط Rich $alz <rsalz@uunet.uu.net> برای InterNetNews نوشته شده است. نگارش مجدد در قالب POD توسط Russ Allbery <eagle@eyrie.org> انجام شده است.

active(5), active.times(5), buffchan(8), incoming.conf(5), innd(8), inn.conf(5), libinn_inndcomm(3), newsfeeds(5), nnrpd(8).

2024-05-19 INN 2.7.4