اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نحوه Kill کردن Process های بی مسئولیت با استفاده از دستور xkill در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نحوه Kill کردن Process های بی مسئولیت با استفاده از دستور xkill در لینوکس

    چطور ما یک resource/process را در لینوکس kill کنیم؟ قطعا، ما PID ریسورس را پیدا میکنیم و سپس PID را به دستور kill پاس میدهیم. اگر بخواهیم دقیقتر بگوییم، ما میتوانیم pid ریسورس را همانند زیر پیدا کنیم.
    کد PHP:
    root@debian:~# ps -A | grep -i terminal
    25170 ?        00:00:00 gnome-terminal
    در خروجی بالا، 25170 شماره PID پروسس gnome terminal میباشد، از دستور kill برای kill کردن process همانند زیر استفاده کنید.
    کد PHP:
    kill 25170 
    دستور kill یک سیگنال را به یک پروسس ارسال میکند، که آن PID به همراه دستور پاس داده میشود.


    همچنین، ما میتوانیم از دستور pkill استفاده کنیم که یک پروسس را بر اساس نام و ویژگی های دیگر آن پروسس kill میکند. برای kill کردن یک پروسس که نام آن ترمینال است ما باید دستور زیر را اجرا کنیم.
    کد PHP:
    pkill terminal 
    نکته : طول نام پروسس در دستور 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)

    برای نمایش لیستی از همه کلاینت ها شما باید از دستور زیر استفاده کنید.
    کد 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 
    اگر هیچ مشخصه ریسورسی به همراه id ارسال نشود xkill نشانه گر موس را روی نشانه (symbol) خاص شبیه به X میبرد. کافیست روی پنجره که میخواهید آنرا kill کنید کلیک کرده و سپس ارتباطات آن با سرور kill خواهد شد یا میتوان گفت که کلا برنامه kill خواهد شد.
    کد PHP:
    root@parham:~$ xkill
    Select the window whose client you wish to kill with button 1.
    ... 
    همانطور که مشاهده میکنید بعد از زدن دستور بالا نشانه گر موس شما به صورت یک ضربدر "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 را انتخاب کرده ام.
    دستور xkill در لینوکس


    دستور xkill در لینوکس برای بستن process ها



    سری بعدی که خواستید یک ریسورس 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 کردن آن در لینوکس


    موفق باشید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-19-2021, 04:31 AM.

    من قلبی بزرگ با رویاهایی بزرگ دارم. دانسته هایمان را با هم به اشتراک بگذاریم.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X