0Pricing
Linux Command Line Mastery · درس

إدارة العمليات: `kill` و`bg` و`fg`

تعلّم إنهاء العمليات وتعليقها واستئنافها بكفاءة من سطر الأوامر.

إدارة العمليات: `kill` و`bg` و`fg` درس مجاني في Linux Command Line Mastery على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Command Line Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Command Line Mastery 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Introduction to Process Control

In Linux, every running program is called a process. Managing these processes is essential for system efficiency and troubleshooting.

This lesson teaches you how to take control of processes: suspending them, sending them to the background, bringing them forward, and even terminating them when they misbehave.

The `kill` Command Basics

The kill command is used to send signals to processes. Its primary use is to terminate processes.

To use kill, you need the Process ID (PID) of the target process. You can find PIDs using commands like ps (covered in a previous lesson).

ps aux | grep sleep

Graceful Termination: `SIGTERM`

By default, kill sends the SIGTERM (signal 15) signal. This is a polite request for a process to terminate.

A well-behaved program will catch SIGTERM, perform any necessary cleanup (like saving files), and then exit gracefully.

sleep 30 &
# Use 'ps' to find the PID of 'sleep 30'
# Example: kill <PID_OF_SLEEP>

Forceful Termination: `SIGKILL` (-9)

Sometimes, a process might ignore SIGTERM, becoming unresponsive or 'frozen'. In such cases, you need to use a stronger signal: SIGKILL (signal 9).

SIGKILL immediately terminates the process without allowing it to clean up. Use it as a last resort!

sleep 60 &
# Use 'ps' to find the PID of 'sleep 60'
# Example: kill -9 <PID_OF_SLEEP>

Suspending Processes with Ctrl+Z

You can temporarily pause a running foreground process using the keyboard shortcut Ctrl+Z.

This sends a SIGSTOP signal, suspending the process and returning control to your shell. The process is still in memory but not executing.

sleep 120
# Type 'sleep 120' and then press Ctrl+Z
# You will see '[1]+  Stopped  sleep 120'

Listing Jobs with `jobs`

When you suspend a process or send it to the background, it becomes a 'job'. You can list all current jobs managed by your shell using the jobs command.

Each job is assigned a job number, which is useful for referring to it with other commands.

sleep 30
# Press Ctrl+Z
jobs

Backgrounding a Job: `bg`

A suspended process isn't running. To make it run in the background (without occupying your terminal), use the bg command.

You can refer to the job by its job number (e.g., bg %1). The process will continue running silently.

sleep 60
# Press Ctrl+Z
jobs
bg %1
jobs

Foregrounding a Job: `fg`

If you have a process running in the background or a suspended one, you can bring it back to the foreground to interact with it using the fg command.

Like bg, you specify the job number (e.g., fg %1) to bring that specific job to the front.

sleep 60 &
jobs
fg %1
# Press Ctrl+C to stop it or Ctrl+Z to suspend it again.

Combining Process Control

These commands work together to give you full control over processes:

  • Start a task: nano
  • Suspend it: Ctrl+Z
  • Move to background: bg %1
  • Start another task: sleep 100
  • Suspend it: Ctrl+Z
  • List all jobs: jobs
  • Bring nano to foreground: fg %1
  • Terminate nano: Ctrl+C
  • Kill sleep: kill %2

Quick Check

You've started a program, and it's completely unresponsive. You can't even close it with Ctrl+C. You know its Process ID (PID).

What is the most effective command to immediately terminate this stubborn process?

Recap: Process Control

Great job! You've learned how to manage processes effectively:

  • kill: Send signals to terminate processes.
  • kill -9: Forcefully terminate a process.
  • Ctrl+Z: Suspend a foreground process.
  • jobs: List background and suspended jobs.
  • bg: Send a suspended job to the background.
  • fg: Bring a background job to the foreground.

These commands are crucial for maintaining control over your Linux environment.

الأسئلة الشائعة

هل درس «إدارة العمليات: `kill` و`bg` و`fg`» مجاني؟

نعم — نص درس «إدارة العمليات: `kill` و`bg` و`fg`» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Command Line Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Command Line Mastery 4 دروس في المجموع.

ماذا ستتعلم في «إدارة العمليات: `kill` و`bg` و`fg`»؟

تعلّم إنهاء العمليات وتعليقها واستئنافها بكفاءة من سطر الأوامر. تتمرن على Linux Command Line Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Command Line Mastery؟

لا تُشترط خبرة سابقة. Linux Command Line Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إدارة العمليات: `kill` و`bg` و`fg`»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Command Line Mastery هذا؟

نعم. كل درس في Linux Command Line Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فهم العمليات: `ps` و`top` و`htop`
  2. إدارة العمليات: `kill` و`bg` و`fg`
  3. مراقبة موارد النظام: `df` و`du` و`free`
  4. أولويات العمليات باستخدام nice وrenice والإشارات
← العودة إلى Linux Command Line Mastery