MASTER(8) System Manager's Manual MASTER(8)

master - فرایند اصلی Postfix

master [-Dditvw] [-c config_dir] [-e exit_time]


دیمن master(8) فرایند مقیمی است که دیمن‌های Postfix را بر حسب تقاضا اجرا می‌کند: دیمن‌هایی برای ارسال یا دریافت پیام‌ها از طریق شبکه، دیمن‌هایی برای تحویل محلی نامه‌ها و غیره. این دیمن‌ها بر حسب تقاضا تا سقف حداکثر تعداد قابل‌تنظیم برای هر سرویس ایجاد می‌شوند.

دیمن‌های Postfix به‌طور داوطلبانه خاتمه می‌یابند؛ یا پس از بیکار ماندن به مدت زمانی قابل‌تنظیم، یا پس از پاسخ‌گویی به تعداد مشخصی از درخواست‌ها. استثناهای این قاعده عبارتند از مدیر صف مقیم، کارگزار اعتبارسنجی نشانی، و حافظه موقت نشست TLS و سرور اعداد شبه‌تصادفی.

رفتار دیمن master(8) توسط فایل پیکربندی master.cf کنترل می‌شود، همان‌طور که در master(5) شرح داده شده است.

گزینه‌ها:

خواندن فایل‌های پیکربندی main.cf و master.cf در دایرکتوری مشخص‌شده به‌جای دایرکتوری پیش‌فرض پیکربندی. این گزینه همچنین فایل‌های پیکربندی سایر فرایندهای دیمن Postfix را بازنویسی می‌کند.
پس از مقداردهی اولیه، یک دیباگر را روی فرایند اصلی اجرا می‌کند. دستور دیباگ با debugger_command در فایل پیکربندی سراسری main.cf مشخص می‌شود.
ورودی استاندارد (stdin)، خروجی استاندارد (stdout) یا خطای استاندارد (stderr) را به /dev/null هدایت نمی‌کند، و ترمینال کنترل‌کننده را رها نمی‌سازد. این گزینه فقط باید برای دیباگ استفاده شود.
خاتمه دادن به فرایند اصلی پس از exit_time ثانیه. فرایندهای فرزند در زمان مناسب خود خاتمه می‌یابند.
فعال‌سازی حالت init: تبدیل نشدن به سرپرست نشست یا گروه فرایند؛ و مشابه -s، خروجی استاندارد به /dev/null هدایت نمی‌شود تا عبارت "maillog_file = /dev/stdout" کار کند. این حالت تنها در صورتی مجاز است که شناسه فرایند (PID) برابر با ۱ باشد.

این ویژگی در Postfix 3.3 و نسخه‌های پس از آن در دسترس است.

خروجی استاندارد را به /dev/null هدایت نمی‌کند تا "maillog_file = /dev/stdout" کار کند.

این ویژگی در Postfix 3.4 و نسخه‌های پس از آن در دسترس است.

حالت آزمایشی. در صورتی که فایل قفل master.pid وجود نداشته باشد یا قفل نشده باشد، وضعیت خروج صفر برمی‌گرداند. این نشانه‌ای است که دیمن master(8) در حال اجرا نیست.
فعال‌سازی گزارش‌دهی پرجزئیات (verbose) برای اهداف دیباگ. این گزینه به فرایندهای فرزند منتقل می‌شود. تکرار گزینه -v میزان جزئیات گزارش‌های نرم‌افزار را افزایش می‌دهد.
انتظار در یک فرایند پیش‌زمینه صوری، در حالی که دیمن اصلی واقعی در یک فرایند پس‌زمینه مقداردهی اولیه می‌شود. فرایند پیش‌زمینه صوری وضعیت خروج صفر را تنها در صورتی برمی‌گرداند که مقداردهی اولیه دیمن اصلی موفقیت‌آمیز باشد و در مدت زمان معقولی به پایان برسد.

این ویژگی در Postfix 2.10 و نسخه‌های پس از آن در دسترس است.

سیگنال‌ها:

به محض دریافت سیگنال HUP (مثلاً پس از "postfix reload")، فرایند اصلی فایل‌های پیکربندی خود را مجدداً می‌خواند. اگر سرویسی از فایل master.cf حذف شده باشد، فرایندهای در حال اجرای آن فوراً خاتمه می‌یابند. در غیر این صورت، به فرایندهای در حال اجرا اجازه داده می‌شود به محض فراهم شدن شرایط خاتمه یابند تا تغییرات در تنظیمات پیکربندی فقط بر درخواست‌های سرویس جدید اثر بگذارد.
به محض دریافت سیگنال TERM (مثلاً پس از "postfix abort")، فرایند اصلی سیگنال را به فرایندهای فرزند خود منتقل کرده و خاتمه می‌یابد. این قابلیت برای خاموش کردن اضطراری مفید است. در حالت عادی معمولاً فقط فرایند اصلی متوقف می‌شود ("postfix stop") و به فرایندهای در حال اجرا اجازه داده می‌شود کارهای جاری خود را به پایان برسانند.


مشکلات به syslogd(8) یا postlogd(8) گزارش می‌شوند. در صورت بروز مشکل، از جمله بروز خطا در زمان مقداردهی اولیه به عنوان فرایند دیمن اصلی در پس‌زمینه، وضعیت خروج غیرصفر است.

پس از مقداردهی اولیه، دیباگری را مطابق با پارامتر پیکربندی debugger_command در فایل پیکربندی main.cf راه‌اندازی می‌کند.
دایرکتوری حاوی فایل‌های پیکربندی Postfix.

برخلاف اغلب فرایندهای دیمن Postfix، سرور master(8) تغییرات main.cf را به‌طور خودکار اعمال نمی‌کند. تغییرات اعمال‌شده در master.cf هرگز به‌طور خودکار اعمال نمی‌شوند. پس از هر تغییر پیکربندی از دستور "postfix reload" استفاده کنید.

حداکثر تعداد پیش‌فرض فرایندهای فرزند Postfix که یک سرویس مشخص را ارائه می‌دهند.
حداکثر مدت زمانی که یک فرایند دیمن بیکار Postfix پیش از خاتمه داوطلبانه، در انتظار یک اتصال ورودی منتظر می‌ماند.
حداکثر تعداد اتصالات ورودی که یک فرایند دیمن Postfix پیش از خاتمه داوطلبانه به آن‌ها سرویس می‌دهد.
مدت زمانی که master(8) در Postfix پیش از اجرای مجدد (انشعاب) سروری که به نظر می‌رسد دچار اختلال شده، منتظر می‌ماند.

در دسترس از نسخه 2.6 و بالاتر Postfix:

غیرفعال‌سازی انتخابی درگاه‌های شنونده master(8) بر اساس نوع سرویس یا بر اساس نام و نوع سرویس.

مکان پیش‌فرض فایل‌های پیکربندی main.cf و master.cf در Postfix.
دایرکتوری حاوی برنامه‌های پشتیبان و برنامه‌های دیمن Postfix.
دستور خارجی برای اجرا در زمانی که یک برنامه دیمن Postfix با گزینه -D فراخوانی می‌شود.
نشانی‌های رابط شبکه محلی که این سیستم ایمیل روی آن‌ها نامه دریافت می‌کند.
پروتکل‌های اینترنتی که Postfix هنگام برقراری یا پذیرش اتصالات تلاش خواهد کرد از آن‌ها استفاده کند.
فهرست متغیرهای محیطی که یک فرایند مجاز Postfix از یک فرایند والد غیر Postfix وارد می‌کند، یا بازنویسی‌های محیطی به صورت name=value.
حساب کاربری سیستم UNIX که مالک صف Postfix و بیشتر فرایندهای دیمن Postfix است.
شناسه فرایند (PID) یک دستور یا فرایند دیمن Postfix.
نام فرایند مربوط به یک دستور یا فرایند دیمن Postfix.
مکان دایرکتوری سطح بالای صف Postfix.
تسهیلات syslog برای ثبت وقایع Postfix.
پیشوندی که به نام فرایند در رکوردهای syslog اضافه می‌شود، به عنوان مثال "smtpd" تبدیل به "prefix/smtpd" می‌شود.

در دسترس از نسخه 3.3 و بالاتر Postfix:

نام سرویس master.cf برای یک فرایند دیمن Postfix.

در دسترس از نسخه 3.6 و بالاتر Postfix:

تنظیمات اختیاری که از جستجو در پایگاه داده services(5) جلوگیری می‌کند.

برای بسط دادن نام دایرکتوری‌های زیر به مقادیر واقعی آن‌ها، از دستور "postconf config_directory" و غیره استفاده کنید.

$config_directory/main.cf, فایل پیکربندی سراسری.
$config_directory/master.cf, فایل پیکربندی سرور اصلی.
$queue_directory/pid/master.pid, فایل قفل اصلی.
$data_directory/master.lock, فایل قفل اصلی.

qmgr(8), queue manager
verify(8), address verification
master(5), master.cf configuration file syntax
postconf(5), main.cf configuration file syntax
postlogd(8), Postfix logging
syslogd(8), system logging

مجوز Secure Mailer باید همراه با این نرم‌افزار توزیع شود.

Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA