جدول محتوایی
یک مدیر سیستم لینوکس باید برخی از دستورات لینوکس را بداند. در این مقاله نحوه یافتن و کشتن فرآیندهای در حال اجرا در لینوکس را یاد خواهید گرفت. در واقع، مدیریت فرآیند یکی از جنبه های مهم مدیریت سیستم در لینوکس است و شامل کشتن فرآیندها با استفاده از دستور kill است. علاوه بر این، گاهی اوقات مدیران نیاز به مدیریت فرآیندها دارند. برای استفاده از این راهنما، سعی کنید میزبانی وب VPS یا لینوکس را خریداری و استفاده کنید.
بخوانید: نصب پایتون 3 در دبیان 10
آموزش یافتن و از بین بردن فرآیندهای در حال اجرا در لینوکس
فرآیند در لینوکس چیست؟
یک فرآیند در یک سیستم لینوکس می تواند یک اتفاق در حال اجرا از یک برنامه یا برنامه باشد. همچنین می توانید به فرآیندها به عنوان وظایف در حال اجرا در سیستم عامل اشاره کنید.
هنگامی که یک فرآیند در حال اجرا است، از یک حالت به حالت دیگر تغییر می کند و یک فرآیند می تواند در یکی از حالت های زیر باشد:
در حال اجرا: به این معنی که فرآیند یا در حال اجرا است یا فقط تنظیم شده است که اجرا شود.
انتظار: به این معنی که فرآیند منتظر یک رویداد یا یک منبع سیستم برای انجام یک کار است.
دو نوع انتظار برای فرآیندها در لینوکس وجود دارد که عبارتند از وقفه و بدون وقفه.
فرآیند انتظاری که می تواند توسط سیگنال ها قطع شود، وقفه نامیده می شود، در حالی که در انتظار فرآیندی که مستقیماً در شرایط سخت افزاری منتظر است و تحت هیچ شرایطی نمی تواند قطع شود، بدون وقفه نامیده می شود.
Stopped: به این معنی که فرآیند با استفاده از سیگنال متوقف شده است.
زامبی: به این معنی که فرآیند به طور ناگهانی متوقف شده و مرده است.
هنگام کشتن فرآیندها، دستور kill برای ارسال یک سیگنال با نام به یک فرآیند یا گروهی از فرآیندهای نامگذاری شده استفاده می شود. سیگنال پیش فرض سیگنال TERM است.
به یاد داشته باشید که دستور kill می تواند یک تابع داخلی در بسیاری از پوسته های مدرن یا خارجی واقع در /bin/kill باشد.
پیدا کردن PID فرآیند در Linux
در لینوکس، هر فرآیند روی یک سیستم دارای یک PID (شماره شناسایی فرآیند) است که می تواند برای از بین بردن فرآیند استفاده شود.
با استفاده از دستور pidof به صورت زیر می توانید PID هر فرآیندی را شناسایی کنید:
pidof firefox
pidof chrome
pidof gimp-2.8
از بین بردن فرآیندها در Linux
هنگامی که PID فرآیند را پیدا کردید، اجازه دهید اکنون نحوه کشتن فرآیندها را بررسی کنیم. در این مثال اول، من قصد دارم PID فرآیند را دریافت کنم و سپس یک سیگنال به آن ارسال کنم.
من می خواهم روند gimp را بکشم، بنابراین این کار را به صورت زیر انجام می دهم:
pidof gimp-2.8
kill 9378
برای تأیید اینکه فرآیند کشته شده است، دستور pidof را اجرا کنید و نمی توانید PID را مشاهده کنید.
pidof gimp-2.8
همچنین می توانید با استفاده از نام یا اعداد سیگنال به صورت زیر یک سیگنال با نام را به فرآیند ارسال کنید:
pidof vlc
kill -SIGTERM 9541
pidof vlc
استفاده از شماره سیگنال برای از بین بردن یک فرآیند:
pidof banshee
kill -9 9647
pidof banshee
ازبین بردن PID چندین فرآیند در لینوکس
برای از بین بردن بیش از یک فرآیند، PID(ها) را به دستور kill به صورت زیر ارسال کنید:
pidof gimp-2.8
pidof vlc
pidof banshee
kill -9 9734 9747 9762