ใช้กระบวนการที่ยาวนานบนเซิร์ฟเวอร์ Ubuntu [ซ้ำกัน]


0

บอกว่าฉันมีแล็ปท็อปและเซิร์ฟเวอร์ Ubuntu มีงานหนักที่ฉันต้องการทำบนเซิร์ฟเวอร์ Ubuntu

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

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


ลองเข้าไปดูnohupและtmux- พวกเขาทำสิ่งต่าง ๆ แต่ทั้งคู่จะได้รู้ว่าคุณเป็นอะไร
Attie

คำตอบ:


2

ใช้คำสั่งหน้าจอบนเซิร์ฟเวอร์ คุณต้องติดตั้งแพ็คเกจที่เกี่ยวข้องหากไม่มีอยู่บนเซิร์ฟเวอร์

sudo apt-get install screen
  1. สร้างหน้าจอ

    screen
    
  2. ดำเนินการคำสั่งที่คุณต้องการเรียกใช้ในหน้าจอนั้น

  3. ออกมาจากหน้าจอโดยกดCtrl+ a+d

  4. แสดงรายการหน้าจอ

    # screen -ls 
    
  5. ตอนนี้คุณสามารถออกมาจากเซสชัน ssh ขณะที่คำสั่งของคุณทำงานในหน้าจอ

  6. ssh อีกครั้งและแนบหน้าจอเพื่อตรวจสอบสถานะคำสั่ง

    screen -r screen_name
    

screenไม่ทำงานถ้าฉันรีสตาร์ทแล็ปท็อปของฉันฉันคิดว่า
mommomonthewind

คุณต้องทำงานscreenบนเซิร์ฟเวอร์ไม่ใช่แล็ปท็อปของคุณ
Attie

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

2

เริ่มที่คำสั่งของคุณกับnohup: และมักจะเปลี่ยนเส้นทางการส่งออกไปยังแฟ้ม:nohup {command} {args...}nohup {command} {args...} >{logfile}

เหนือสิ่งอื่นใดnohupทำให้คำสั่งของคุณจากการรับสัญญาณ SIGHUP ที่บอกว่ามันตัดการเชื่อมต่อกับผู้ปกครอง

tail -f {logfile}หากคุณเชื่อมต่อและต้องการที่จะตรวจสอบการส่งออกทำ


ขอบคุณมาก. และฉันจะเชื่อมต่อใหม่เพื่อตรวจสอบกระบวนการได้อย่างไร
mommomonthewind

ดูคำตอบที่ดีขึ้น ...
xenoid

0

ฉันมักจะทำงานในพื้นหลังและบันทึกผลลัพธ์ไปยังไฟล์ตรวจสอบความคืบหน้าโดย "ปรับ" บันทึกของฉัน:

$> my_long_task.sh > stdout.log 2> stderr.log &

และเมื่อฉันต้องการตรวจสอบสถานะฉัน:

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