سوال: چگونه می‌توان پروسسها را درلینوکس متوقف کرد؟



جواب: لینوکس و تمام سیستمهای شبه یونیکس دستور kill را بهمراه دارند.دستور kill سیکنال خاصی (همانند توقف پروسس) به یک پروسه خاص و یا گروهی از پروسس ها می فرستد. اگر سیگنال خاصی مشخص نگردد سیگنال TERM (توقف اجباری) فرستاده می شود.

توقف پروسه ها با استفاده از دستور kill در سیستم‌های لینوکس و یونیکس

دستور kill تحت سیستم عامل لینوکس و سیستم عامل های شبه یونیکس کار می‌کند


قدم اول
: اول، شما نیاز دارید که شناسه پروسه (PID ) را بیابید.

از دستور ps و یا دستور pidof برای یافتن شناسه پروسه استفاده کنید.

نحو دستور:

ps aux | grep نام پروسه
pidof 
نام پروسه

برای مثال اگر نام پروسه lighttpd باشد، شما می‌توانید یکی از دستورهای زیر را برای مشاهده شناسه پروسه استفاده کنید.

$ps aux | grep lighttpdOutput:

lighttpd  3486  0.0  0.1   4248  1432 ?        S    Jul31   0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
lighttpd  3492  0.0  0.5  13752  3936 ?        Ss   Jul31   0:00 /usr/bin/php5-cg

و یا از دستور pidof برای یافتن شناسه پروسه برنامه‌های در حال اجرا استفاده کنید.

$pidof lighttpdOutput:

3486

قدم دومتوقف پروسه با استفاده از PID (شناسه پروسه) دستورهای بالا شناسه پروسه lighttpd را در اختیار شما قرار خواهند داداکنون پروسه را با استفاده از این PID متوقف کنید.

$ kill 3486
OR
$kill -9 3486

که در آن 9-سیگنال ویژه توقف است، که آن پروسه را متوقف خواهد کرد.

مثالهای دستور killall

از دستور killall در یونیکس استفاده نکنید دستور خاص لینوکس ). شما همچنین می‌توانید از دستور killall استفاده کنیددستور killall پروسه ها را با نام متوقف می کندبه یافتن PID نیازی نیست):

$ killall -9 lighttpd

توقف پروسه فایرفاکس:

$killall -9 firefox-bin

همانطور که اشاره گردید killallبر روی سیستمهای یونیکس کار دیگری انجام خواهد داد و تمام پروسه ها و نه پروسه خاصی را متوقف خواهد کرد.بر روی یونیکس از دستورkillallاستفاده نکنید (از9- kill استفاده کنید ).