Skip to main content

เทคนิคพิเศษ ! ตั้งค่าให้ Linux รันตลอดเวลา ( bandground ) แม้จะปิดหน้าต่าง Linux Terminal

ปัญหาสำคัญในการรัน systemd บน WSL คือ  เมื่อลูกค้าปิดหน้าต่าง Linux Terminal แล้วซักพัก Linux ตัวนั้นก็จะหยุดทำงาน ( Stopped )

นั่นทำให้ systemd หยุดทำงานไปด้วย

ลูกค้าลองปิดหน้าต่าง Linux แล้วรอซักครู่นะพบว่า Linux หยุด Stopped เอง

2024-04-07_12-43-50.jpg


Trick พิเศษ !

แอดมินค้นหาวิธีแก้ไม่ให้ Linux ( WSL ) หยุดการทำงาน ( Stopped ) เอง  ได้โดยใช้เทคนิคการสั่งรัน tmux ค้างไว้ ดังนี้

เปิดหน้าต่าง Linux ที่ลูกค้าใช้งานขึ้นมาซักตัว

1. ติดตั้ง tmux ก่อน โดยพิมพ์คำสั่งนี้

$ sudo apt install tmux

2. สร้าง tmux ไว้ 1 session ( เพื่อให้ tmux ทำงาน background ) โดยพิมพ์คำสั่งนี้

$ nano ~/.bashrc

แล้วพิมพ์ 3 บรรทัดนี้ต่อท้ายล่างสุดของไฟล์ .bashrc

if ! tmux ls > /dev/null 2>&1; then
        tmux new -d > /dev/null 2>&1
fi

2024-04-07_14-25-20.jpg

แล้วกดปุ่ม Ctrl+X และ Y และ Enter เพื่อ save ไฟล์

3. เปิดหน้าต่าง Linux เพิ่มขึ้นมาใหม่  แล้วพิมพ์ดูว่า tmux ถูกสร้าง session ไว้แล้วยัง

$ tmux ls

2024-04-07_14-29-53.jpg

จะพบว่า tmux ถูกสร้างให้รัน background อย่างน้อย 1 session ทุกครั้งที่เราเปิดรัน Linux

วิธีนี้จะช่วยให้ Linux ไม่หยุดทำงาน ( Stopped ) เมื่อเราปิดหน้าต่าง Linux Terminal

4. ลูกค้าลองปิดหน้าต่าง Linux Terminal แล้วรอซักพัก  แล้วพิมพ์คำสั่งนี้ใน Windowns Terminal

2024-04-07_14-32-13.jpg

ก็จะพบว่า Linux จะ Running ตลอดไป  แม้เราจะปิดหน้าต่าง Linux Terminal แล้วก็ตาม

นั่นคือ application & service ทุกๆตัวที่รันบน systemd ก็จะทำงาน background ตลอดไปด้วยเช่นกัน

 

 

 

ฝากสนับสนุนบริการ www.Limitrack.com เพื่อให้พวกเราได้นำสิ่งดีๆมามอบให้ลูกค้าครับ