'\" t .TH "SYSTEMD\&.KILL" "5" "" "systemd 261.2" "systemd.kill" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" systemd.kill \- پیکربندی روال خاتمه دادن به فرایندها .SH "خلاصه دستور (SYNOPSIS)" .PP \fIservice\fR\&.service, \fIsocket\fR\&.socket, \fImount\fR\&.mount, \fIswap\fR\&.swap, \fIscope\fR\&.scope .SH "توضیحات (DESCRIPTION)" .PP فایل‌های پیکربندی واحد برای سرویس‌ها، سوکت‌ها، نقاط سوار کردن، دستگاه‌های سواپ و محدوده‌ها (scopes) در زیرمجموعه‌ای از گزینه‌های پیکربندی مشترک هستند که روال خاتمه دادن به فرایندهای متعلق به آن واحد را تعریف می‌کنند\&. .PP این صفحه راهنما گزینه‌های پیکربندی مشترک میان این پنج نوع واحد را فهرست می‌کند\&. برای گزینه‌های مشترک میان تمام فایل‌های پیکربندی واحد به \fBsystemd.unit\fR(5) مراجعه کنید، و برای اطلاعات بیشتر درباره گزینه‌های فایل پیکربندی مخصوص هر نوع واحد، \fBsystemd.service\fR(5)، \fBsystemd.socket\fR(5)، \fBsystemd.swap\fR(5)، \fBsystemd.mount\fR(5) و \fBsystemd.scope\fR(5) را ببینید\&. .PP گزینه‌های پیکربندی روال خاتمه، بسته به نوع واحد در بخش [Service]، [Socket]، [Mount] یا [Swap] پیکربندی می‌شوند\&. .SH "گزینه‌ها (OPTIONS)" .PP \fIKillMode=\fR .RS 4 چگونگی خاتمه دادن به فرایندهای این واحد را مشخص می‌کند\&. یکی از مقادیر \fBcontrol\-group\fR، \fBmixed\fR، \fBprocess\fR، \fBnone\fR\&. .sp اگر روی \fBcontrol\-group\fR تنظیم شود، تمام فرایندهای باقی‌مانده در گروه کنترلی (control group) این واحد در زمان توقف واحد خاتمه داده خواهند شد (برای سرویس‌ها: پس از اجرای دستور توقف، همان‌طور که با \fIExecStop=\fR پیکربندی شده است)\&. اگر روی \fBmixed\fR تنظیم شود، سیگنال \fBSIGTERM\fR (به زیر مراجعه کنید) به فرایند اصلی فرستاده می‌شود در حالی که سیگنال متعاقب \fBSIGKILL\fR (به زیر مراجعه کنید) به تمام فرایندهای باقی‌مانده در گروه کنترلی واحد ارسال می‌گردد\&. اگر روی \fBprocess\fR تنظیم شود، فقط خود فرایند اصلی خاتمه داده می‌شود (توصیه نمی‌شود!)\&. اگر روی \fBnone\fR تنظیم شود، هیچ فرایندی خاتمه داده نمی‌شود (به‌شدت نهی می‌شود!)\&. در این حالت، در زمان توقف واحد تنها دستور توقف اجرا خواهد شد، اما هیچ فرایندی به شکل دیگری خاتمه داده نمی‌شود\&. فرایندهایی که پس از توقف زنده می‌مانند در گروه کنترلی خود باقی می‌مانند و گروه کنترلی پس از توقف همچنان به بقای خود ادامه می‌دهد مگر اینکه خالی باشد\&. .sp توجه داشته باشید که تنظیم \fIKillMode=\fR روی \fBprocess\fR یا حتی \fBnone\fR توصیه نمی‌شود، زیرا این کار به فرایندها اجازه می‌دهد از چرخه حیات و مدیریت منابع مدیر سرویس فرار کنند و حتی در حالی که سرویس آن‌ها متوقف تلقی شده و فرض می‌شود هیچ منبعی مصرف نمی‌کند، در حال اجرا باقی بمانند\&. .sp فرایندها ابتدا از طریق \fBSIGTERM\fR خاتمه داده خواهند شد (مگر اینکه سیگنال ارسالی از طریق \fIKillSignal=\fR یا \fIRestartKillSignal=\fR تغییر یافته باشد)\&. به‌صورت اختیاری، بلافاصله پس از آن یک \fBSIGHUP\fR ارسال می‌شود (در صورتی که با \fISendSIGHUP=\fR فعال شده باشد)\&. اگر فرایندها همچنان باقی بمانند پس از اینکه: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فرایند اصلی یک واحد خارج شده باشد (مربوط به \fIKillMode=\fR: \fBmixed\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} مدت‌زمان تأخیر پیکربندی‌شده از طریق \fITimeoutStopSec=\fR سپری شده باشد (مربوط به \fIKillMode=\fR: \fBcontrol\-group\fR، \fBmixed\fR، \fBprocess\fR) .RE .sp درخواست خاتمه با سیگنال \fBSIGKILL\fR یا سیگنال مشخص‌شده از طریق \fIFinalKillSignal=\fR تکرار می‌شود (مگر اینکه این مورد از طریق گزینه \fISendSIGKILL=\fR غیرفعال شده باشد)\&. برای اطلاعات بیشتر \fBkill\fR(2) را ببینید\&. .sp پیش‌فرض روی \fBcontrol\-group\fR است\&. .sp در نسخه 187 اضافه شد\&. .RE .PP \fIKillSignal=\fR .RS 4 مشخص می‌کند که هنگام متوقف کردن یک سرویس از چه سیگنالی استفاده شود\&. این گزینه سیگنالی را کنترل می‌کند که به عنوان اولین گام از خاموش کردن یک واحد ارسال می‌شود (به بالا مراجعه کنید)، و معمولاً پس از آن \fBSIGKILL\fR ارسال می‌گردد (به بالا و پایین مراجعه کنید)\&. برای فهرستی از سیگنال‌های معتبر، \fBsignal\fR(7) را ببینید\&. پیش‌فرض \fBSIGTERM\fR است\&. .sp توجه داشته باشید که درست پس از ارسال سیگنال مشخص‌شده در این تنظیم، systemd همواره \fBSIGCONT\fR را ارسال خواهد کرد تا اطمینان حاصل شود که حتی وظایف معلق‌شده (suspended tasks) نیز می‌توانند به‌طور پاکیزه خاتمه یابند\&. .sp در نسخه 187 اضافه شد\&. .RE .PP \fIRestartKillSignal=\fR .RS 4 مشخص می‌کند که هنگام راه‌اندازی مجدد یک سرویس از چه سیگنالی استفاده شود\&. همانند \fIKillSignal=\fR که در بالا توضیح داده شد عمل می‌کند، با این تفاوت که این تنظیم در یک کار راه‌اندازی مجدد (restart job) استفاده می‌شود\&. به‌طور پیش‌فرض تنظیم نشده است و از مقدار \fIKillSignal=\fR استفاده می‌شود\&. .sp در نسخه 244 اضافه شد\&. .RE .PP \fISendSIGHUP=\fR .RS 4 مشخص می‌کند که آیا بلافاصله پس از ارسال سیگنال پیکربندی‌شده با \fIKillSignal=\fR، سیگنال \fBSIGHUP\fR به فرایندهای باقی‌مانده ارسال شود یا خیر\&. این گزینه برای اطلاع دادن به پوسته‌ها (shells) و برنامه‌های مشابه پوسته مبنی بر اینکه اتصال آن‌ها قطع شده است، مفید است\&. یک مقدار بولی (boolean) می‌گیرد\&. پیش‌فرض "no" است\&. .sp در نسخه 207 اضافه شد\&. .RE .PP \fISendSIGKILL=\fR .RS 4 مشخص می‌کند که آیا در صورت باقی ماندن فرایندهایی از سرویس پس از روال عادی خاموش شدن، پس از اتمام مهلت زمانی (timeout)، سیگنال \fBSIGKILL\fR (یا سیگنال مشخص‌شده با \fIFinalKillSignal=\fR) به فرایندهای باقی‌مانده ارسال شود یا خیر\&. هنگامی که غیرفعال باشد، سرویسی با \fIKillMode=\fR برابر با \fBcontrol\-group\fR یا \fBmixed\fR در صورتی که فرایندهایی از سرویس‌های قبلی درون گروه کنترلی وجود داشته باشند، مجدداً راه‌اندازی نخواهد شد\&. یک مقدار بولی می‌گیرد\&. پیش‌فرض "yes" است\&. .sp در نسخه 187 اضافه شد\&. .RE .PP \fIFinalKillSignal=\fR .RS 4 مشخص می‌کند که در صورت فعال بودن \fISendSIGKILL=\fR، پس از اتمام مهلت زمانی چه سیگنالی به فرایندهای باقی‌مانده ارسال شود\&. سیگنال پیکربندی‌شده در اینجا باید سیگنالی باشد که معمولاً توسط سرویس‌ها دریافت و پردازش نمی‌شود (\fBSIGTERM\fR مناسب نیست)\&. توسعه‌دهندگان ممکن است استفاده از این گزینه را برای ایجاد یک روبرداری از حافظه (coredump) جهت عیب‌یابی اینکه چرا یک سرویس پس از دریافت سیگنال اولیه \fBSIGTERM\fR خاتمه نیافته است، مفید بیابند\&. این کار می‌تواند با پیکربندی \fILimitCORE=\fR و تنظیم \fIFinalKillSignal=\fR روی یکی از دو سیگنال \fBSIGQUIT\fR یا \fBSIGABRT\fR انجام شود\&. پیش‌فرض \fBSIGKILL\fR است\&. .sp در نسخه 240 اضافه شد\&. .RE .PP \fIWatchdogSignal=\fR .RS 4 مشخص می‌کند که هنگام منقضی شدن مهلت زمانی سگ نگهبان (watchdog timeout) (فعال‌شده از طریق \fIWatchdogSec=\fR)، از چه سیگنالی برای خاتمه دادن به سرویس استفاده شود\&. پیش‌فرض \fBSIGABRT\fR است\&. .sp در نسخه 240 اضافه شد\&. .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd\fR(1), \fBsystemctl\fR(1), \fBjournalctl\fR(1), \fBsystemd.unit\fR(5), \fBsystemd.service\fR(5), \fBsystemd.socket\fR(5), \fBsystemd.swap\fR(5), \fBsystemd.mount\fR(5), \fBsystemd.exec\fR(5), \fBsystemd.directives\fR(7), \fBkill\fR(2), \fBsignal\fR(7)