چطور ما یک resource/process را در لینوکس kill کنیم؟ قطعا، ما PID ریسورس را پیدا میکنیم و سپس PID را به دستور kill پاس میدهیم. اگر بخواهیم دقیقتر بگوییم، ما میتوانیم pid ریسورس را همانند زیر پیدا کنیم.
در خروجی بالا، 25170 شماره PID پروسس gnome terminal میباشد، از دستور kill برای kill کردن process همانند زیر استفاده کنید.
دستور kill یک سیگنال را به یک پروسس ارسال میکند، که آن PID به همراه دستور پاس داده میشود.
همچنین، ما میتوانیم از دستور pkill استفاده کنیم که یک پروسس را بر اساس نام و ویژگی های دیگر آن پروسس kill میکند. برای kill کردن یک پروسس که نام آن ترمینال است ما باید دستور زیر را اجرا کنیم.
نکته : طول نام پروسس در دستور pkill به 15 کاراکتر محدود شده است.
از آنجایی که در دستور pkill شما میتوانید یک پروسس را بدون پیدا کردن pid آن kill کنید این دستور بسیار ساده تر است. اما اگر شما بخواهید کنترل بهتری روی سیستم تان داشته باشید هیچ دستوری به پای دستور kill نمیرسد. با استفاده از دستور kill شما دید بهتری از اینکه چه دستوری را میخواهید kill کنید خواهید داشت.
ما قبلا یک مقاله کاملتری درباره دستورات kill - pkill و killall ارائه داده ایم.
برای آن دسته از افرادی که با سرور X کار میکنند ابزار دیگری به نام xkill وجود دارد که میتواند یک پروسس را از طریق ویندوز X آن و بدون پاس دادن نام process یا pid آن kill کند.
ابزار xkill سرور X را مجبور به بستن ارتباطات به سمت client ش میکند که در نتیجه آن کلاینت به واسطه ریسورس X ش kill میشود. xkill که یک بخش از ابزارهای X11 میباشد در kill کردن پنجره های غیرضروری بسیار آسان و ساده است.
این ابزار از آپشن هایی مانند اتصال به یک سرور X مشخص (-display dislayname) با استفاده از شماره display زمانیکه چندین سرور X روی یک هاست به صورت همزمان در حال اجرا هستند پشتیبانی میکند و همه کلاینت ها را (با آپشن -all که توصیه نمیشود) با ویندوز های top-level روی صفحه Kill میکند و frame را به اکانت میبرد. (با آپشن -frame)
برای نمایش لیستی از همه کلاینت ها شما باید از دستور زیر استفاده کنید.
نمونه خروجی :
اگر هیچ مشخصه ریسورسی به همراه id ارسال نشود xkill نشانه گر موس را روی نشانه (symbol) خاص شبیه به X میبرد. کافیست روی پنجره که میخواهید آنرا kill کنید کلیک کرده و سپس ارتباطات آن با سرور kill خواهد شد یا میتوان گفت که کلا برنامه kill خواهد شد.
همانطور که مشاهده میکنید بعد از زدن دستور بالا نشانه گر موس شما به صورت یک ضربدر "x" در میآید و با توجه به متنی که در زیر دستور آمده، این نشانگر را روی هر پنجره ای (به طور مثال یک مرورگر وب و یا پنجره فایل منیجر و یا هر برنامه باز دیگری) که ببرید و سپس یکبار کلیک کنید آن پنجره/برنامه kill خواهد شد.
این نکته حائز اهمیت است که xkill تضمین نمیکند که بستن ارتباطات موجب kill/abourt شدن موفقیت آمیز آن باشد. بیشتر اپلیکیشن ها زمانیکه ارتباط شان با سرور بسته میشود kill خواهد شد. به هر حال بعضی از آنها ممکن است همچنان در حال اجرا باشند. که برای اطمینان از این قضیه میتوانید از دستور ps -aux استفاده کرد.
نکاتی که باید به آنها توجه شود.
- این ابزار تنها زمانیکه سرور X11 در حال اجراست کار میکند از آنجایی که xkill یک بخش از ابزار X11 میباشد.
- با بستن و kill کردن یک resource گیج نشوید. زمانیکه یک ریسورس را kill میکنید ممکن است کاملا از آن خارج نشده باشید
- این ابزار جایگزینی برای ابزار kill نمیباشد.
آیا برای استفاده از دستور xkill نیاز هست که از محیط کامند لینوکس استفاده کنیم؟
نه، شما نیاز ندارید که در محیط کامندی لینوکس از xkill استفاده کنید. شما میتوانید یک shortcut در کیبرد تعریف کنید و تنها با ترکیب کلید ها xkill را به آنها متصل کنید.
در اینجا ما نحوه ایجاد shortcut کیبرد روی محیط دسکتاپ gnome3 را شرح خواهیم داد.
به منوی Settings و سپس Select Keyboard رفته، روی "+" کیک کرده و سپس یک نام و کامند اضافه میکنیم. روی ورودی جدید کلیک کرده و کلیدی که میخواهید به عنوان کلید ترکیبی shortcut استفاده کنید فشار دهید. من کلیدهای Ctrl+Alt+Shift+x را انتخاب کرده ام.
سری بعدی که خواستید یک ریسورس X را Kill کنید تنها کافیست که کلید ترکیبی shortcut آن (Ctrl+Alt+Shift+x) را استفاده کنید که بعد از آن متوجه خواهید شد که نشانه گر موس شما به X تغییر میکند. سپس روی ریسورس x که میخواهید آنرا kill کنید کلیک کنید و بعد از آن resource مورد نظر kill خواهد شد.
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
آنچه که شما باید درباره process ها در لینوکس بدانید
دستور ps در لینوکس برای مانیتور یا پیدا کردن process ها
آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس
راهنمای دستورات Kill - PKill و Killall برای بستن یک پروسس در لینوکس
چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم
نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس
آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس
موفق باشید.
کد PHP:
root@debian:~# ps -A | grep -i terminal
25170 ? 00:00:00 gnome-terminal-
کد PHP:
$ kill 25170
همچنین، ما میتوانیم از دستور pkill استفاده کنیم که یک پروسس را بر اساس نام و ویژگی های دیگر آن پروسس kill میکند. برای kill کردن یک پروسس که نام آن ترمینال است ما باید دستور زیر را اجرا کنیم.
کد PHP:
$ pkill terminal
از آنجایی که در دستور pkill شما میتوانید یک پروسس را بدون پیدا کردن pid آن kill کنید این دستور بسیار ساده تر است. اما اگر شما بخواهید کنترل بهتری روی سیستم تان داشته باشید هیچ دستوری به پای دستور kill نمیرسد. با استفاده از دستور kill شما دید بهتری از اینکه چه دستوری را میخواهید kill کنید خواهید داشت.
ما قبلا یک مقاله کاملتری درباره دستورات kill - pkill و killall ارائه داده ایم.
برای آن دسته از افرادی که با سرور X کار میکنند ابزار دیگری به نام xkill وجود دارد که میتواند یک پروسس را از طریق ویندوز X آن و بدون پاس دادن نام process یا pid آن kill کند.
ابزار xkill سرور X را مجبور به بستن ارتباطات به سمت client ش میکند که در نتیجه آن کلاینت به واسطه ریسورس X ش kill میشود. xkill که یک بخش از ابزارهای X11 میباشد در kill کردن پنجره های غیرضروری بسیار آسان و ساده است.
این ابزار از آپشن هایی مانند اتصال به یک سرور X مشخص (-display dislayname) با استفاده از شماره display زمانیکه چندین سرور X روی یک هاست به صورت همزمان در حال اجرا هستند پشتیبانی میکند و همه کلاینت ها را (با آپشن -all که توصیه نمیشود) با ویندوز های top-level روی صفحه Kill میکند و frame را به اکانت میبرد. (با آپشن -frame)
برای نمایش لیستی از همه کلاینت ها شما باید از دستور زیر استفاده کنید.
کد PHP:
$ xlsclients
کد PHP:
parham bamfdaemon
parham ibus-ui-gtk3
parham ibus-x11
parham unity-settings-daemon
parham unity-panel-service
parham indicator-printers-service
parham indicator-keyboard-service
parham compiz
parham nautilus
parham nm-applet
parham unity-fallback-mount-helper
parham polkit-gnome-authentication-agent-1
parham gnome-software
parham update-notifier
parham gedit
parham firefox
parham gnome-terminal-server
parham hud-service
parham vmware-tray
parham shutter
parham vmware
parham google-chrome-stable
کد PHP:
root@parham:~$ xkill
Select the window whose client you wish to kill with button 1....
این نکته حائز اهمیت است که xkill تضمین نمیکند که بستن ارتباطات موجب kill/abourt شدن موفقیت آمیز آن باشد. بیشتر اپلیکیشن ها زمانیکه ارتباط شان با سرور بسته میشود kill خواهد شد. به هر حال بعضی از آنها ممکن است همچنان در حال اجرا باشند. که برای اطمینان از این قضیه میتوانید از دستور ps -aux استفاده کرد.
نکاتی که باید به آنها توجه شود.
- این ابزار تنها زمانیکه سرور X11 در حال اجراست کار میکند از آنجایی که xkill یک بخش از ابزار X11 میباشد.
- با بستن و kill کردن یک resource گیج نشوید. زمانیکه یک ریسورس را kill میکنید ممکن است کاملا از آن خارج نشده باشید
- این ابزار جایگزینی برای ابزار kill نمیباشد.
آیا برای استفاده از دستور xkill نیاز هست که از محیط کامند لینوکس استفاده کنیم؟
نه، شما نیاز ندارید که در محیط کامندی لینوکس از xkill استفاده کنید. شما میتوانید یک shortcut در کیبرد تعریف کنید و تنها با ترکیب کلید ها xkill را به آنها متصل کنید.
در اینجا ما نحوه ایجاد shortcut کیبرد روی محیط دسکتاپ gnome3 را شرح خواهیم داد.
به منوی Settings و سپس Select Keyboard رفته، روی "+" کیک کرده و سپس یک نام و کامند اضافه میکنیم. روی ورودی جدید کلیک کرده و کلیدی که میخواهید به عنوان کلید ترکیبی shortcut استفاده کنید فشار دهید. من کلیدهای Ctrl+Alt+Shift+x را انتخاب کرده ام.
سری بعدی که خواستید یک ریسورس X را Kill کنید تنها کافیست که کلید ترکیبی shortcut آن (Ctrl+Alt+Shift+x) را استفاده کنید که بعد از آن متوجه خواهید شد که نشانه گر موس شما به X تغییر میکند. سپس روی ریسورس x که میخواهید آنرا kill کنید کلیک کنید و بعد از آن resource مورد نظر kill خواهد شد.
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
آنچه که شما باید درباره process ها در لینوکس بدانید
دستور ps در لینوکس برای مانیتور یا پیدا کردن process ها
آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس
راهنمای دستورات Kill - PKill و Killall برای بستن یک پروسس در لینوکس
چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم
نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس
آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس
موفق باشید.