PlusMagi's Blog By Pitt Phunsanit

MacOs: รันงานข้ามคืนด้วย Caffeinate

Caffeinate เป็นคำสั่งลับสุดเท่ (และมีประโยชน์มาก) ที่ซ่อนอยู่ใน Terminal ของ macOS หน้าที่ของมันตรงตามชื่อเลยครับ คือการ “ป้อนคาเฟอีน” ให้ Mac ของคุณตื่นอยู่ตลอดเวลา ไม่ยอมให้เครื่องหลับ (Sleep) หน้าจอดับ หรือพักเครื่องในขณะที่คุณกำลังทำงานสำคัญอยู่

ถ้าคุณเคยเจอปัญหาปล่อยให้เครื่องโหลดไฟล์ใหญ่ ๆ ทิ้งไว้ หรือกำลังเรนเดอร์วิดีโอแล้วหันไปกินข้าว กลับมาอีกทีปรากฏว่า Mac หลับปุ๋ย งานหยุดชะงัก… คำสั่ง caffeinate คือฮีโร่ที่จะมาช่วยคุณ โดยไม่ต้องลงแอปเสริม (เช่น Amphetamine หรือ Caffeine) ให้หนักเครื่องเลยครับ


วิธีเปิดใช้งาน Caffeinate (ขั้นพื้นฐาน)

วิธีใช้คำสั่งนี้ง่ายมาก เพียงแค่เปิด Terminal ขึ้นมา (กด Command + Spacebar พิมพ์ Terminal แล้วกด Enter) จากนั้นเลือกใช้ตามสถานการณ์ได้เลยครับ


สั่งให้ Mac ตื่นไปเรื่อย ๆ ไม่มีกำหนด

พิมพ์คำสั่งด้านล่างนี้แล้วกด Enter
caffeinate


เจาะลึก 7 Options (Flags) อาวุธลับของ Caffeinate

คำสั่ง caffeinate มี Options เสริมที่เราสามารถหยิบมาผสมผสานเพื่อให้ตรงกับความต้องการได้แบบละเอียดสุด ๆ ดังนี้ครับ

กลุ่มคำสั่งควบคุมฮาร์ดแวร์ (Assertions)


คำสั่งจำลองพฤติกรรมผู้ใช้ และจำกัดเวลา

-u (User Active): คำสั่งแกล้งทำเป็นว่า “ฉันยังนั่งอยู่หน้าจอตรงนี้ซินะ!”

-t (Timeout): หากคุณรู้ว่างานจะเสร็จในอีก 1 ชั่วโมง และไม่อยากเปิดทิ้งไว้ข้ามคืน ให้ใส่ฟังก์ชัน -t (Time) ตามด้วย จำนวนวินาที ครับ เช่น
caffeinate -t 3600
(3600 วินาที = 1 ชั่วโมงพอดี พอครบเวลาปุ๊บ คาเฟอีนหมดฤทธิ์ Mac ก็จะกลับไปโหมดประหยัดพลังงานตามปกติ)


คำสั่งผูกมัดกับแอปพลิเคชันอื่น

-w (Wait Process): สั่งให้ Mac ตื่นอยู่ตลอดเวลา ตราบใดที่แอปพลิเคชันหรือโปรเซสที่ระบุยังทำงานอยู่ โดยเราต้องใส่เลข PID (Process ID) ของแอปนั้น ๆ ต่อท้าย เช่น
caffeinate -w 1234
(เมื่อแอปเลข PID 1234 ปิดตัวลง คาเฟอีนจะถูกถอนทันที และ Mac จะยอมหลับได้ตามปกติ โดยคุณสามารถเช็กเลข PID ได้จากแอป Activity Monitor)


ตารางสรุป Options ทั้งหมดเพื่อความชัดเจน

Optionหน้าที่หลักสถานการณ์ที่ควรใช้
-dห้ามหน้าจอดับเปิดดู Live สด, ดูหน้าจอ Monitor
-iห้ามระบบหลักหลับ (แต่จอดับได้)เปิดบอทเกม, รันโค้ดเบื้องหลัง
-mห้ามฮาร์ดดิสก์หยุดทำงานคัดลอกไฟล์ขนาดใหญ่, ย้ายข้อมูล
-sห้ามหลับเฉพาะตอนเสียบปลั๊กป้องกันแบตหมดเกลี้ยงในกระเป๋าเป้
-uปลุกหน้าจอให้สว่าง + แกล้งทำว่าใช้งานอยู่สั่งงานจากระยะไกล (Remote) เพื่อเปิดจอ
-t [วินาที]ตั้งเวลาหมดฤทธิ์สั่งรันงานทิ้งไว้ก่อนออกไปข้างนอก
-w [PID]ผูกอายุการตื่นไว้กับโปรแกรมอื่นสั่งให้เครื่องตื่นจนกว่าจะเรนเดอร์งานเสร็จ

เทคนิคขั้นโปร: ผสมคำสั่งเพื่อผลลัพธ์ที่ดีที่สุด

คุณสามารถนำ Options เหล่านี้มารวมร่างกันได้ในคำสั่งเดียวครับ เช่น

อยากให้หน้าจอเปิดสว่าง และห้ามเครื่องหลับ เป็นเวลา 30 นาที

caffeinate -di -t 1800

อยากปลุกหน้าจอที่ดับอยู่ให้สว่างขึ้นมา และให้มันสว่างค้างไว้ 10 นาที

caffeinate -u -t 600

รันโปรแกรมไปพร้อมกับสั่งกินกาแฟไปในตัว

ถ้าคุณขี้เกียจหาเลข PID คุณสามารถสั่งรันโปรแกรมต่อท้าย caffeinate ตรง ๆ ได้เลย เช่น สั่งบีบอัดไฟล์และห้ามเครื่องหลับจนกว่าจะเสร็จ
caffeinate -i zip -r backup.zip /Users/Documents


สรุป

คำสั่ง caffeinate เป็นเครื่องมือ Built-in ที่ทรงพลัง ปลอดภัย และมีติดมาให้ใน macOS ทุกเครื่องโดยไม่ต้องเสียเวลาไปดาวน์โหลดแอปพลิเคชันภายนอกให้หนักเครื่อง เหมาะอย่างยิ่งสำหรับสาย Dev, สายตัดต่อ หรือใครก็ตามที่อยากควบคุมพฤติกรรมการนอนของ Mac อย่างแม่นยำ ลองเอาไปปรับใช้ใน Workflow ของตัวเองดูนะครับ!


อ่านเพิ่มเติม

Exit mobile version