کانال تلگرام منطقه لینوکسی ها
نمایش نتایج: از 1 به 1 از 1

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

  1. #1
    مدیریت بخش
    تاریخ عضویت
    Aug 2013
    سن
    33
    نوشته ها
    820
    تشکر ها
    287
    9
    میزان امتیاز
    5
    Array

    نحوه 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 را انتخاب کرده ام.

    select-keyboard-linux-png

    select-keyboard-2-linux-png

    سری بعدی که خواستید یک ریسورس X را Kill کنید تنها کافیست که کلید ترکیبی shortcut آن (Ctrl+Alt+Shift+x) را استفاده کنید که بعد از آن متوجه خواهید شد که نشانه گر موس شما به X تغییر میکند. سپس روی ریسورس x که میخواهید آنرا kill کنید کلیک کنید و بعد از آن resource مورد نظر kill خواهد شد.

    همچنین توصیه میشود مقالات زیر را نیز مطالعه فرمایید :
    راهنمای دستورات Kill, PKill و Killall برای بستن یک پروسس در لینوکس
    چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم
    نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
    متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس
    آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس
    چه موقعی باید از دستور kill -9 باید استفاده کرد؟
    پشت صحنه داستان ‘init’ و ‘systemd’: چرا در لینوکس ‘init’ باید جایگزین ‘systemd’ شود
    آنچه که شما باید درباره process ها در لینوکس بدانید

    موفق باشید.
    ویرایش توسط Habili : 08-10-2017 در ساعت 09:21 AM
    سال 95 :: دانسته هایمان را به اشتراک میگذاریم
    رویاهای خودت رو دنبال کن

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 08-05-2017, 07:50 PM
  2. پاسخ: 0
    آخرين نوشته: 02-08-2017, 10:09 AM
  3. پاسخ: 1
    آخرين نوشته: 02-06-2015, 12:46 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما
سایت منطقه لینوکسی ها در سال 1392 با هدف ارائه خدمات نوین در حوزه فناوری اطلاعات و ارتباطات در راستای پیاده سازی ارتباطات صدا، تصویر، دیتا و بالا بردن سطح علمی و عمومی کاربران از طریق انجمن در سطح جهانی راه اندازی شده و با بهره گیری از توان تخصصی و تجارب حرفه ای مدیران و کارشناسان خود، پیشگام بودن در ارائه راه کارهای برتر را آرمان خود قرار داده است. امید است این سایت بتواند زمینه ساز رشد و ترقی جامعه ایرانی در سرتاسر دنیا گردد.
شبکه های اجتماعی
ایمیل مدیر کل
habili@linux-zone.org