Process, PID, Daemon คืออะไร

Process, PID, Daemon คืออะไร

Process, PID, Daemon คืออะไร? พื้นฐานสำคัญที่ Linux Admin ต้องเข้าใจ

สำหรับผู้ดูแลระบบ Linux ไม่ว่าจะเป็นสาย SysAdmin, DevOps หรือ Network Engineer คำว่า Process, PID และ Daemon คือคำศัพท์พื้นฐานที่ต้องเข้าใจอย่างลึกซึ้ง เพราะเกี่ยวข้องโดยตรงกับการทำงานของระบบปฏิบัติการ การจัดการทรัพยากร และความเสถียรของเซิร์ฟเวอร์ในองค์กร

บทความนี้จะอธิบายแบบเข้าใจง่าย แต่ลงรายละเอียดเชิงเทคนิค พร้อมตัวอย่างคำสั่งที่สามารถนำไปทดลองได้ทันทีบน Linux Server


1️⃣ Process คืออะไร?

Process (โปรเซส) คือ “โปรแกรมที่กำลังทำงานอยู่ในหน่วยความจำ”

เมื่อเรารันคำสั่ง เช่น

ls

ระบบจะสร้าง process ขึ้นมาชั่วคราวเพื่อทำงาน และเมื่อเสร็จสิ้นก็จะถูกปิดไป

องค์ประกอบของ Process

แต่ละ process จะมีข้อมูลสำคัญ เช่น

  • PID (Process ID)

  • PPID (Parent Process ID)

  • User ที่เรียกใช้งาน

  • การใช้ CPU

  • การใช้ Memory

  • สถานะ (Running, Sleeping, Stopped ฯลฯ)

ทดลองดู Process ที่กำลังทำงาน

ps aux

หรือแบบ interactive

top
 

ในระบบรุ่นใหม่แนะนำ

htop

ทุกโปรแกรมใน Linux ทำงานภายใต้ Process ทั้งหมด ไม่มีข้อยกเว้น


2️⃣ PID คืออะไร?

PID (Process ID) คือ “หมายเลขประจำตัวของ Process”

ระบบปฏิบัติการจะกำหนดหมายเลขเฉพาะให้แต่ละ process เพื่อใช้ในการควบคุม

ตัวอย่าง

ps -ef | grep nginx

ผลลัพธ์อาจแสดง

root 1023 1 0 nginx: master process

www-data 1024 1023 0 nginx: worker process

ในตัวอย่างนี้

  • 1023 คือ PID ของ master process

  • 1024 คือ PID ของ worker process

  • เลข 1 คือ PPID (Parent Process ID)


การจัดการ Process ด้วย PID

หยุด process

kill 1023

บังคับหยุด (force kill)

kill -9 1023

ดู tree ของ process

pstree

Process แรกของระบบคือ

PID 1

ใน Linux รุ่นใหม่คือ

👉 systemd


3️⃣ Daemon คืออะไร?

Daemon คือ process พิเศษที่ทำงานอยู่เบื้องหลัง (Background Service)

ไม่มีหน้าจอ ไม่มี UI ทำงานรอให้บริการตลอดเวลา

ตัวอย่าง Daemon ยอดนิยมในระบบองค์กร:

  • Apache HTTP Server

  • Nginx

  • MySQL

  • MariaDB

  • OpenSSH

Daemon มักลงท้ายด้วยตัวอักษร d เช่น

  • httpd
  • sshd
  • crond
  • systemd
  • vsftpd
  • mysqld

ตรวจสอบ Daemon ในระบบ

systemctl status nginx


ดูทั้งหมด

systemctl list-units --type=service

เปิด Daemon อัตโนมัติเมื่อบูตเครื่อง

systemctl enable nginx

 เปรียบเทียบให้เห็นภาพ

คำศัพท์ ความหมาย ตัวอย่าง
Process โปรแกรมที่กำลังทำงาน firefox, ls
PID หมายเลขประจำ process 1023
Daemon Process เบื้องหลังให้บริการระบบ nginx, mysqld

ภาพรวมการทำงานของระบบ

  1. เครื่องเปิด → systemd (PID 1) ทำงาน

  2. systemd เรียก Daemon ต่าง ๆ

  3. User เรียกโปรแกรม → เกิด Process ใหม่

  4. ทุก Process มี PID เฉพาะ

  5. ผู้ดูแลระบบสามารถควบคุมด้วยคำสั่ง kill, systemctl


สรุป

  • Process คือหน่วยพื้นฐานของการทำงานใน Linux

  • PID คือรหัสประจำตัวที่ใช้ควบคุม process

  • Daemon คือ process เบื้องหลังที่ให้บริการระบบ

การเข้าใจ 3 คำนี้อย่างลึกซึ้ง คือพื้นฐานของการทำงานระดับมืออาชีพในสาย SysAdmin และ Server Administration

หากต้องดูแลเซิร์ฟเวอร์องค์กร ความเข้าใจเรื่อง process lifecycle, signal handling และ service management จะช่วยลด Downtime และแก้ปัญหาได้รวดเร็วขึ้นอย่างมาก