Frequently Asked Question

วิธีการรัน Windows Application เป็น Background Service ด้วย NSSM (ตัวอย่าง: llama-server)
Last Updated 4 days ago

การรันแอปพลิเคชันหรือโปรแกรมบน Windows (เช่น llama-server จาก llama.cpp หรือโปรแกรมเบื้องหลังอื่นๆ) ให้ทำงานเป็น Windows Background Service ตลอดเวลา โดยไม่ต้องล็อกอินค้างไว้ และมีระบบ Auto-restart เมื่อโปรแกรมเกิดขัดข้อง เครื่องมือที่แนะนำและใช้งานง่ายที่สุดคือ NSSM (Non-Sucking Service Manager)

สิ่งที่ต้องเตรียม (Prerequisites)

  • ดาวน์โหลดโปรแกรม NSSM และวางไฟล์ nssm.exe ไว้ในโฟลเดอร์ถาวร (เช่น C:\tools\nssm.exe)
  • ไฟล์โปรแกรมที่ต้องการรัน เช่น llama-server.exe และไฟล์โมเดล GGUF (เช่น C:\llama\llama-server.exe)

ขั้นตอนการติดตั้ง Service (Step-by-Step Installation)

1. เปิด Command Prompt หรือ PowerShell ด้วยสิทธิ์ Administrator

กดปุ่ม Win + X แล้วเลือก Terminal (Admin) หรือ Command Prompt (Admin)

2. เปิดหน้าต่างตั้งค่า Service ของ NSSM (GUI Mode)

C:\tools\nssm.exe install LlamaServer

(สามารถเปลี่ยนชื่อ LlamaServer เป็นชื่อ Service ที่ต้องการได้)

3. ตั้งค่าพารามิเตอร์ในหน้าต่าง Popup GUI

  • Path: เลือกไปยังไฟล์โปรแกรมปลายทาง (เช่น C:\llama\llama-server.exe)
  • Startup directory: โฟลเดอร์ที่เก็บโปรแกรม (ระบบจะกรอกให้อัตโนมัติ หรือชี้ไปที่ C:\llama)
  • Arguments: พารามิเตอร์หรือคำสั่งเสริม เช่น กำหนดพอร์ตและตำแหน่งไฟล์โมเดล:
    -m "C:\models\llama-3-8b.Q4_K_M.gguf" --port 8080 -ngl 33

4. สั่งติดตั้ง Service

คลิกปุ่ม Install service เมื่อสำเร็จจะมีข้อความแจ้งเตือนยืนยัน


คำสั่งจัดการและควบคุม Service (Managing the Service)

สามารถสั่งงานผ่าน CMD / PowerShell (Admin) ได้ดังนี้:

  • เริ่มการทำงาน (Start):
    net start LlamaServer
  • หยุดการทำงาน (Stop):
    net stop LlamaServer
  • แก้ไขการตั้งค่า (Edit/Reconfigure):
    C:\tools\nssm.exe edit LlamaServer
  • ลบ Service ออกจากระบบ (Remove):
    C:\tools\nssm.exe remove LlamaServer confirm

ข้อดี: โปรแกรมจะเริ่มต้นทำงานอัตโนมัติพร้อมการบูตเครื่องของ Windows (Auto-start on Boot) แม้จะไม่มีผู้ใช้ล็อกอินเข้าสู่หน้าจอ Desktop

Please Wait!

Please wait... it will take a second!