ก่อนหน้านี้ฉันเคย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
เช่นกัน บวกนั่นหมายความว่าเอาต์พุตไม่ได้หายไป