วันจันทร์ที่ 26 ตุลาคม พ.ศ. 2558

การใช้คำสั่ง screen ใน linux

         screen คือคำสั่งในการรัน command linux ต่างๆ แบบเปิดทิ้งไว้ แม้เน็ตจะหลุด คอมจะพัง เราก็ยังสามารถ remote มาเปิด session เดิมได้โดยที่มันไม่หายไปดื้อๆ เหมาะอย่างยิ่งสำหรับคนเน็ตไม่เสถียร มีวิธีใช้งานดังนี้ เช่น
screen mysqldump -uroot -pxxx > backup.sql
วิธีการใช้การก็เพียงแค่พิมพ์คำว่า screen นำหน้าคำสั่งที่เราต้องการ เช่น mysqldump เรารู้ว่ามันนานมาก เลยสั่ง screen ไว้ หากกด CTRL+A คำสั่งเริ่มต้นก่อนจะป้อนคำสั่งอื่นๆ ของ screen ไม่อย่างนั้นจะยังเป็นการสั่งไปยัง process ที่ทำงานภายใน screen ไม่ใช่ตัว screen เช่นเดิม แล้วจะมีคำสั่งต่อดังนี้
    • d – ออกจากคำสั่ง screen โดยจะเข้าไปดูต่อวันหลังได้
    • [ - เข้าสู่ copy mode ตรงนี้เมื่อเข้าแล้วจะมีคำสั่งดังต่อไปนี้ (ส่วนใหญ่แทบจะลอกจาก vi มาทั้งดุ้น)
      • u - ออกจาก copy mode
      • h - ขยับ cursor ไปทางซ้าย
      • j - ขยับ cursor ลงข้างล่าง
      • k - ขยับ cursor ขึ้น
      • l - ขยับ cursor ลง
      • G - ขยับ cursor ไปที่ line ที่กำหนด
      • CTRL+u - เลื่อนขึ้นครึ่งหน้า
      • CTRL+d - เลื่อนลงครึ่งหน้า
      • CTRL+b - เลื่อนขึ้นหนึ่งหน้า
      • CTRL+f - เลื่อนลงหนึ่งหน้า
      • / - search จาก cursor ลงไปข้างล่าง (กด n เพื่อ search next)
      • ? - search จาก cursor ขึ้นข้างบน (กด n เพื่อ search next)
และหากกด d เพื่อออกจากคำสั่ง screen ไปแล้ว หรือเน็ตหลุดระหว่าง run screen เราสามารถพิมพ์ "screen -r" เพื่อกลับไปยัง session เดิมที่รันไว้ หรือหากมีหลาย session จะมีข้อความแสดงเช่นดังนี้

There are several suitable screens on:
24146.pts-5.node1 (04/30/13 23:48:40) (Detached)
23909.pts-5.node1 (04/30/13 23:33:22) (Detached)
23817.pts-5.node1 (04/30/13 23:27:58) (Detached)
23647.pts-0.node1 (04/30/13 23:21:36) (Attached)
Type "screen [-d] -r [pid.]tty.host” to resume one of them.
เราอยากเข้าอันไหนก็พิมพ์ตามที่เค้าบอก เช่น "screen -r 23817.pts-5.node1" ก็จะกลับ 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น