kill دستوری است که توسط آن می توان یک فرایند، دستور یا یک برنامه گرافیکی را از طریق شناسه یا PID مربوط به آن فرایند (دستور یا برنامه گرافیکی) را kill یا از بین برد. دستور kill شناسه فرایند و سیگنال مربوطه (15 یا 9) را به عنوان ورودی گرفته و سپس آن فرایند را kill می کند.
اما شرایطی را در نظر بگیرید که یک برنامه گرافیکی Hang کرده باشید و نتوانید آنرا به صورت نرمال آن برنامه گرافیکی را ببندید. طبق آنچه که در ادامه گفته خواهد شد از طریق شناسه یا id مربوط به پنجره گرافیکی که به آن برنامه اختصاص داده شده است،می توانید آن برنامه را توسط دستور xkill ببندید.
روش کار دستور xkill
فرض کنید فایرفاکس Hang کرده باشد و نتوانید از طریق پنجره Close آنرا ببنید. در این صورت می توانید یک پنجره ترمینال را باز کرده و سپس دستور xkill را اجرا کنید تا آیکون X نشان داده شود، سپس آنرا روی فایرفاکس برده و کلیک کنید تا فایرفاکس یا هر برنامه کاربردی گرافیکی دیگری بسته شود.
xkill
استفاده از id یا شناسه مربوط به برنامه گرافیکی
در محیط X به هر برنامه گرافیکی یک شناسه عددی هگزا دسیمال اختصاص داده می شود که در واقع id مربوط به آن برنامه از نظر محیط گرافیکی است. دستور xkill دارای سوییچ id- است که به شناسه یا id مربوط به برنامه گرافیکی را به عنوان ورودی گرفته و سپس آن برنامه گرافیکی را kill می کند.
برای این منظور و بستن برنامه گرافیکی Hang شده کافیست در پنجره ترمینال دستور زیر را وارد کنید که به APP_X_ID جای آن باید شناسه X مربوط به برنامه را جایگزین کنید.
xkill -id APP_X_ID
بدست آوردن شناسه یا id مربوط به APP در محیط گرافیکی X
با استفاده از دستور xwininfo می توانید شناسه مربوط بخ هر یک از برنامه های گرافیکی در حال اجرا را پیدا کنید، به این صورت که پس از اجرای دستور در پنجره ترمینال کافیست ماوس را روی برنامه برده و کلیک کنید تا مانند شکل زیر در ترمینال اطلاعات مربوط به آن نشان داده شود.
همانطور که از شکل بالا مشخص است شناسه برنامه فایرفاکس عدد 0x2000017 است، پس باید برای kill کردن توسط xkill دستور زیر را اجرا کنید.
xkill -id 0x2000017
همچنین می توانید مطلب “چگونه تمامی فرایند های یک کاربر را از بین ببریم” را نیز مطالعه کنید.