نحوه خروج از برنامه های منجمد در لینوکس

حتی یک سیستم عامل قوی مانند لینوکس(Linux) گاهی اوقات ممکن است با مشکلاتی مواجه شود که باعث مسدود شدن برنامه ها یا برنامه ها می شود.

چندین راه برای کشتن یا ترک یک برنامه فریز شده در لینوکس(Linux) وجود دارد. این مقاله نحوه انجام آن را توضیح خواهد داد.

از دستور کشتن استفاده کنید(Use The Kill Command)

قبل از اینکه بتوانید از دستور kill استفاده کنید، سیستم شما باید شناسه فرآیند(Process ID) ( PID ) برنامه غیر پاسخگو را بداند.

PID عددی است که به طور خودکار هر فرآیند را هنگام ایجاد در هر سیستم عامل لینوکس(Linux OS) شناسایی می کند . مزیت این روش این است که روی تمام سیستم های لینوکس(Linux) کار می کند .

فرآیند و PID را پیدا کنید(Find The Process & PID)

اگر نمی‌دانید کدام فرآیند در لینوکس(Linux) ثابت است، دو ابزار به شما کمک می‌کنند تا فرآیند را پیدا کنید: top و ps .

Top یک مانیتور سیستم مبتنی بر خط فرمان است. از خط فرمان، عبارت زیر را تایپ کنید:

$ top

اسکرین شات بالا اطلاعات زیادی را نشان می دهد. به عنوان مثال، فرض کنید Chrome برنامه ثابتی است که در رایانه شما وجود دارد.

می بینید که چهار نمونه از Chrome وجود دارد که با PID زیر در حال اجرا هستند:

  • 3827
  • 3919
  • 10764
  • 11679

برای شناسایی نمونه خاصی از کروم(Chrome) که می خواهید بکشید، از دستور ps و grep برای فیلتر کردن خروجی استفاده کنید.

دستور زیر فرآیندهای در حال اجرا مرتبط با Chrome را به شما نشان می دهد :

ps aux | grep chrome

کشتن روند(Kill The Process)

شما اکنون دو بخش از اطلاعات مورد نیاز برای از بین بردن یک فرآیند منجمد در لینوکس(Linux) را دارید : نام و شناسه آن. از دستورات زیر استفاده کنید:

  • کشتن(kill) - یک فرآیند را با ID بکشید
  • killall - یک فرآیند را با نام بکشید

بسته به نتایجی که می خواهید، سیگنال های دیگری نیز وجود دارد که می توانید به هر دو فرمان ارسال کنید. 

به عنوان مثال، اگر می خواهید فرآیند پاسخگو را از بین ببرید و سپس آن را مجددا راه اندازی کنید، از سیگنال HUP (Hang up) استفاده خواهید کرد.

سایر سیگنال های کشتن عبارتند از:

  • SIGSTOP برای توقف فرآیند
  • SIGNINT برای قطع کردن صفحه کلید
  • SIGKILL برای از بین بردن سیگنال

از دستور ps بالا یاد گرفتیم که PID(PIDs) برای نمونه های کروم(Chrome) 3827، 3919، 10764 و 11679 است.

برای ارسال سیگنال kill ، دستورات زیر را اجرا کنید تا هر چهار نمونه کروم(Chrome) را با موفقیت از بین ببرید :(kill)

  • kill -9 3827
  • kill -9 3919
  • kill -9 10764
  • kill -9 11679

همچنین می‌توانید از دستور زیر با استفاده از killall برای ارسال همان سیگنال استفاده کنید:

killall -9 کروم(killall -9 chrome)

روی X کلیک کنید(Click The X)

برنامه‌ها و برنامه‌هایی که پاسخگو نیستند معمولاً دکمه‌ها یا گزینه‌هایی خاکستری دارند که کار نمی‌کنند. گاهی اوقات حتی نمی توانید پنجره برنامه را در اطراف صفحه حرکت دهید.

ساده ترین راه حل این است که روی دکمه X در گوشه بالا کلیک کنید. بسته به سیستم عامل شما، دکمه ممکن است در سمت چپ یا در گوشه بالا سمت راست باشد.

پس از کلیک بر روی X ، یک کادر محاوره ای با دو گزینه مشاهده خواهید کرد: Wait یا Force Quit . برای پایان دادن به برنامه، روی Force Quit کلیک کنید .

با استفاده از مانیتور سیستم، یک فرآیند لینوکس را در لینوکس بکشید(Kill a Linux Process on Linux Using System Monitor)

مانیتور پیش فرض سیستم در (System)اوبونتو (Ubuntu)Gnome نام دارد. این بینش در مورد تمام فرآیندهای در حال اجرا در سیستم عامل لینوکس اوبونتو(Ubuntu Linux) می دهد.

کاربران می توانند وظایف مختلفی را با استفاده از رابط کاربری گرافیکی(Graphical User Interface) ( GUI ) انجام دهند، از جمله Stop ، Continue و Kill .

اگر سیستم شما شامل برنامه مانیتور سیستم Gnome نیست، با دنبال کردن مراحل زیر آن را نصب کنید. این فرآیند برای تمام نسخه های فعال لینوکس اوبونتو(Ubuntu Linux) و همچنین لینوکس مینت(Linux Mint) و دبیان(Debian) کار می کند.

  • از میانبر صفحه کلید ترمینال CTRL+ALT+T استفاده کنید. سپس از دستور زیر برای دانلود و نصب مانیتور سیستم Gnome استفاده کنید.(Gnome System)

sudo apt-get نصب gnome-system-monitor(sudo apt-get install gnome-system-monitor)

  • مانیتور سیستم را با استفاده از ترمینال فرمان(Command Terminal) با موارد زیر باز کنید:

gnome-system-monitor

  • یا با استفاده از رابط کاربری گرافیکی(GUI) ، به برنامه(Applications) ها بروید ، سیستم مانیتور را(system monitor) در کادر جستجو تایپ کنید و روی نماد کلیک کنید تا باز شود.
  • مانیتور سیستم(System Monitor) خود را باز کنید ، ستون Processes را مرور کنید تا برنامه بدون پاسخ یا ثابت شده را پیدا کنید، آن را انتخاب کرده و روی آن کلیک راست کنید.

چندین گزینه را مشاهده خواهید کرد، از جمله:

  • پایان فرآیند(End Process) خاتمه برنامه در حین تمیز کردن فایل های موقت.
  • فرآیند(Stop Process) را متوقف کنید تا فرآیند متوقف شود و بتوانید بعداً با آن کار کنید.
  • Kill Process افراطی ترین گزینه است و در صورت عدم موفقیت برنامه برای پایان دادن به آن، برای خروج از برنامه منجمد کار می کند.

از دستور xkill استفاده کنید(Use The xkill Command)

Xkill یک ابزار از پیش نصب شده Ubuntu kill است که می توانید از آن برای کشتن یک فرآیند لینوکس که پاسخگو نیست استفاده کنید. (Linux)این ابزاری است که از قبل در اوبونتو(Ubuntu) نصب شده است.

همچنین می توانید آن را از طریق ترمینال(Terminal) روی توزیع های دیگر با استفاده از دستور زیر نصب کنید:

sudo apt xorg-xkill را نصب کنید(sudo apt install xorg-xkill)

سپس با تایپ xkill آن را اجرا کنید . موس شما به جمجمه یا x تبدیل می شود. روی برنامه یخ زده کلیک چپ کنید تا بسته شود.

از pgrep و pkill استفاده کنید(Use pgrep & pkill)

چندین سیستم لینوکس(Linux) میانبرهایی به نام pkill و pgrep را برای انجام کارهای مشابه kill و ps که در بالا توضیح داده شد ارائه می دهند.

Pgrep نام فرآیند و شناسه را نشان می دهد. به عنوان مثال، اجرای pgrep chrome برای مشاهده شناسه فرآیند فرآیند در حال اجرا کروم(Chrome) . سپس می توانید از آن شناسه با دستور kill استفاده کنید.

pkill 7012

یا، می‌توانید از این مرحله رد شوید و از دستور زیر برای حذف همه نمونه‌های کروم(Chrome) استفاده کنید :

pkill chrome

اگر فقط یک نمونه از یک برنامه در حال اجرا داشته باشید، این راه حل به خوبی کار می کند. با این حال، اگر چندین پنجره از یک برنامه باز دارید و فقط می خواهید یکی را بکشید، به جای آن از XKill استفاده کنید.

هنگامی که یک برنامه هنگ می کند، راه اندازی مجدد سیستم شما همیشه راحت ترین گزینه نیست. این امر مخصوصاً زمانی صادق است که همزمان روی چندین پروژه کار می کنید و کار خود را ذخیره نکرده اید.

یکی از گزینه های بالا را به عنوان جایگزینی برای خروج آسان و سریع از برنامه های منجمد یا غیر پاسخگو در لینوکس(Linux) امتحان کنید.



About the author

من یک مهندس نرم افزار و متخصص ویندوز 10 هستم. من بیش از دو سال تجربه کار با گوشی های هوشمند، ویندوز 10 و مایکروسافت اج را دارم. تمرکز اصلی من این است که دستگاه‌های شما بهتر و سریع‌تر کار کنند. من روی پروژه های مختلفی برای شرکت هایی مانند Verizon، IMac، HP، Comcast و بسیاری دیگر کار کرده ام. من همچنین یک مدرس معتبر در آموزش ابری Microsoft Azure هستم.



Related posts