คืนค่าเซสชัน SSH


13

ฉันได้เชื่อมต่อกับเซิร์ฟเวอร์ของฉันผ่าน SSH และสร้างกระบวนการ แต่ทันใดนั้นการเชื่อมต่ออินเทอร์เน็ตของฉันถูกตัดการเชื่อมต่อ ฉันรู้ว่ากระบวนการกำลังดำเนินอยู่ แต่จะคืนค่าเซสชันก่อนหน้าเพื่อดูความคืบหน้าของกระบวนการได้อย่างไร

คำตอบ:


16

ตามที่แนะนำข้างต้นในอนาคตคุณสามารถใช้หน้าจอเพื่อป้องกันสิ่งนั้น คำอธิบายสั้น ๆ เกี่ยวกับวิธีใช้หน้าจอ:

  1. screen -S compiling_stuff
  2. ทำสิ่งที่นี่ เช่น ./configure
  3. หากการเชื่อมต่อถูกปิดด้วยเหตุผลบางประการคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์และปัญหา screen -r comp
  4. คุณสามารถแยกเซสชั่นหน้าจอด้วยตัวคุณเองโดยกด CTRL+A+D

โชคดี


17

screen เป็นวิธีที่ดีที่สุดในการเริ่มต้นคำสั่งในเทอร์มินัลที่จะถูกเก็บไว้เมื่อคุณตัดการเชื่อมต่อจากมัน (ในวัตถุประสงค์ ctrl + ad หรือเพราะการเชื่อมต่อตาย ฯลฯ )

อย่างไรก็ตามคุณสามารถแนบกระบวนการทำงานอีกครั้ง (เช่น: เชลล์ของเซสชันการทำงานของคุณหากยังคงทำงานอยู่) กับเทอร์มินัลปัจจุบันของคุณ (เช่นแนบ stdin, stdout, คีย์บอร์ดอีกครั้ง แต่ยังทำให้เทอร์มินัลใหม่เป็นสถานีควบคุม กระบวนการ) โดยใช้: reptyr

สำหรับสิ่งที่ดีที่สุดของโลกทั้งสอง: ติดตั้งscreenให้เริ่มจากนั้นแนบกระบวนการนั้นอีกครั้งในเซสชันหน้าจอนั้นด้วยreptyr^^


โอลิเวอร์มันเป็นไปได้ที่จะแนบกระบวนการทำงานอีกครั้งได้อย่างไร? คุณช่วยบอกใบ้ให้หน่อยได้ไหม?
นักธนู

@archer: คำใบ้: ไปที่ลิงค์ ^^ (สิ้นสุดย่อหน้าที่ 2 ของฉัน)
Olivier Dulac

@archer: แต่หน้าจอจะง่ายกว่า: เมื่อเรียกใช้ในหน้าจอ ctrl + ad: แยกออกจากหน้าจอ (และกลับบ้าน) จากนั้นให้แนบกับหน้าจออีกครั้ง: "screen -r" (หรือวิธีที่ซับซ้อนกว่านี้หากสิ่งต่างๆติดขัด) ในการแยกความแตกต่างระหว่างเซสชันหน้าจอจำนวนมากให้ตั้งชื่อพวกเขา
Olivier Dulac

7

คุณทำไม่ได้ ในอนาคตคุณสามารถป้องกันบางสิ่งเช่นนี้ได้ด้วยการใช้screenหรือtmuxที่ซึ่งสร้างขึ้นเพื่ออนุญาตให้เชื่อมต่อเซสชันอีกครั้งหลังจากยกเลิกการเชื่อมต่อ


5

แค่คิดว่าฉันจะพูดถึงhttp://mosh.mit.edu/

แอปพลิเคชั่นเทอร์มินัลระยะไกลที่อนุญาตให้โรมมิ่งรองรับการเชื่อมต่อเป็นระยะและให้เสียงสะท้อนในพื้นที่และการแก้ไขการกดแป้นของผู้ใช้

Mosh แทน SSH มันแข็งแกร่งและตอบสนองได้ดียิ่งขึ้นโดยเฉพาะอย่างยิ่งผ่าน Wi-Fi, โทรศัพท์มือถือและลิงก์ระยะไกล


+1 สำหรับหัวฉันไม่เคยได้ยินเครื่องมือนั้นมาก่อน!
Olivier Dulac

2

ใช้screenผ่าน ssh เพื่อเชื่อมต่อกับเซสชั่นของคุณในภายหลัง

เท่าที่ฉันรู้ไม่มีวิธีเชื่อมต่อกับเซสชัน ssh ที่ปิดอีกครั้ง


1

ฉันสามารถแนะนำByobu :

Byobu เป็นการปรับปรุงสำหรับเทอร์มินัลมัลติเพล็กเซอร์หน้าจอ GNU หรือ tmux ที่สามารถใช้ในการแจ้งเตือนบนหน้าจอหรือสถานะเช่นเดียวกับการจัดการหลายหน้าต่างแบบแท็บ มันมีวัตถุประสงค์เพื่อให้ประสบการณ์การใช้งานที่ดีขึ้นสำหรับเซสชันเทอร์มินัลเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล


1

ฉันอยากจะแนะนำให้ใช้tmux :

คุณสามารถเรียกคืนเซสชั่น tmux tmux attachผ่าน

tmux เป็นแอพพลิเคชั่นซอฟต์แวร์ที่สามารถใช้ในการทำมัลติเพล็กซ์คอนโซลเสมือนได้หลายแบบช่วยให้ผู้ใช้สามารถเข้าถึงเทอร์มินัลเซสชันแยกต่างหากภายในหน้าต่างเทอร์มินัลเดียวหรือเซสชันเทอร์มินัลระยะไกล มันมีประโยชน์สำหรับการจัดการกับหลาย ๆ โปรแกรมจากอินเตอร์เฟสบรรทัดคำสั่งและสำหรับการแยกโปรแกรมออกจาก Unix shell ที่สตาร์ทโปรแกรม [1] มันมีฟังก์ชั่นมากมายเช่นเดียวกับหน้าจอ GNU แต่มีการแจกจ่ายภายใต้ใบอนุญาต BSD

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.