ก่อนหน้านี้ฉันเคยnohupทำงานที่มีพื้นหลังใหญ่ แต่ฉันสังเกตเห็นว่ามีผู้คนจำนวนมากที่ใช้งานscreenในบริบทนี้ ไม่screenให้ชนิดของความได้เปรียบการทำงานบางอย่างที่ผมไม่รู้หรือมันเป็นเพียงเรื่องของการตั้งค่าหรือไม่?
ก่อนหน้านี้ฉันเคยnohupทำงานที่มีพื้นหลังใหญ่ แต่ฉันสังเกตเห็นว่ามีผู้คนจำนวนมากที่ใช้งานscreenในบริบทนี้ ไม่screenให้ชนิดของความได้เปรียบการทำงานบางอย่างที่ผมไม่รู้หรือมันเป็นเพียงเรื่องของการตั้งค่าหรือไม่?
คำตอบ:
ทั้งสองมี plusses และ minuses ของตัวเอง:
nohup:
nohup.outชื่อแฟ้มบันทึกเป็นหน้าจอ:
@rahmu ฉันจะไม่เดา pid ถ้าต้องการจะฆ่ามัน ต้องแน่ใจก่อนฆ่าใครบางคน / บางสิ่ง;)
วิธีที่ดีที่สุดในทั้งสองกรณีสำหรับหน้าจอและ nohup
ps -eaf | grep "nohup" | grep "your proc name/keyword"คือ:
ใช้หน้าจอและตรวจสอบสิ่งที่กำลังทำงานอยู่
เพื่อสรุปว่าพวกเขาเป็นสองสิ่งที่แตกต่างกันที่ทำกับวาระที่แตกต่างกันดังนั้นการเปรียบเทียบเป็นเรื่องยาก
หน้าจอมีคุณสมบัติมากมาย ไม่เพียงแค่ "daemonize" กระบวนการ แต่เป็นโปรแกรมจัดการหน้าต่างสำหรับเทอร์มินัล
มันสามารถใช้ถ้ากระบวนการต้องการอินพุตในบางจุดคุณสามารถไปและตรวจสอบผลลัพธ์ของกระบวนการเชื่อมต่อกับเทอร์มินัล ...
ดังนั้นไม่มันไม่ใช่แค่เรื่องของความชอบพวกเขาไม่เหมือนกันเลย
screen ช่วยให้คุณ:
nohupดีบักเขตข้อมูลps ax | grep nohup จะแสดงรหัสของกระบวนการและคุณสามารถฆ่ามันได้ nohupเร็วกว่า. เหตุผลง่าย ๆ ก็คือมันขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตระหว่างพีซีของคุณกับเซิร์ฟเวอร์ เมื่อใดก็ตามที่อินเทอร์เน็ตช้าลงกระบวนการก็จะช้าเช่นกัน
nohup [...] > fileName.log 2>&1เช่นกัน บวกนั่นหมายความว่าเอาต์พุตไม่ได้หายไป