Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

Nohup คืออะไรและคุณใช้งานอย่างไร?

Nohup คืออะไรและคุณใช้งานอย่างไร?

มีคำสั่งมากมายบนระบบ Linux มีบางอย่างที่คุณจะใช้หลายครั้งต่อวัน และบางรายการโดยทั่วไปสงวนไว้สำหรับกรณีการใช้งานพิเศษ nohup เป็นคำสั่งอย่างหนึ่ง คุณจะไม่ใช้มันทุกวัน แต่คุณจะรู้สึกขอบคุณเมื่อคุณต้องการ ที่นี่เราจะแสดงให้คุณเห็นว่า nohup และวิธีการใช้งาน

โนฮับคืออะไร

Nohup คืออะไรและคุณใช้งานอย่างไร?

nohup ย่อมาจาก “No Hangups” ไม่ใช่คำสั่งที่คุณเรียกใช้เอง nohup เป็นคำสั่งเสริมที่บอกระบบ Linux ไม่ให้หยุดคำสั่งเมื่อเริ่มทำงานแล้ว ซึ่งหมายความว่าจะทำงานต่อไปจนกว่าจะเสร็จสิ้น แม้ว่าผู้ใช้ที่เริ่มต้นจะออกจากระบบก็ตาม มันมีจุดประสงค์ที่คล้ายคลึงกันกับ tmux หรือหน้าจอ ทำให้คุณสามารถเริ่มกระบวนการและไม่ต้องกังวลว่ามันจะเสร็จหรือไม่ถ้าคุณออกจากระบบหรือถูกตัดการเชื่อมต่อจากเซิร์ฟเวอร์ของคุณ ไวยากรณ์สำหรับ nohup เรียบง่ายและมีลักษณะดังนี้:

nohup sh your-script.sh &

สังเกต "&" ที่ท้ายคำสั่ง ซึ่งจะย้ายคำสั่งไปยังพื้นหลัง ทำให้เทอร์มินัลที่คุณกำลังทำงานอยู่ว่างขึ้น

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

Nohup.out

เพราะ nohup สามารถทำงานต่อไปได้โดยอิสระจากผู้ใช้ที่เริ่มต้น คำสั่งจำเป็นต้องมีที่ใดที่หนึ่งเพื่อส่งข้อความหรือข้อผิดพลาดใดๆ เนื่องจากไม่มีเทอร์มินัลเชื่อมโยง nohup บันทึกทุกอย่างลงในไฟล์เอาต์พุต nohup.out .

โดยค่าเริ่มต้น ไฟล์นั้นจะอยู่ในไดเร็กทอรีใดก็ตามที่คุณเริ่มต้นคำสั่ง nohup.out ค่อนข้างพิเศษเพราะมันมีทั้งเอาต์พุตมาตรฐานและเอาต์พุตข้อผิดพลาดร่วมกัน nohup เปลี่ยนเส้นทางทั้งสองไปยังไฟล์เดียวกันโดยค่าเริ่มต้น

Nohup คืออะไรและคุณใช้งานอย่างไร?

คุณไม่จำเป็นต้องใช้ nohup.out แม้ว่า – เป็นเพียงค่าเริ่มต้น คุณสามารถระบุเอาต์พุตที่กำหนดเองได้เมื่อคุณเรียกใช้ nohup และวางไว้ในตำแหน่งที่กำหนดเอง

nohup sh your-script.sh > /path/to/custom.out &

เอาต์พุตที่กำหนดเองมีข้อมูลเหมือนกับ nohup.out มาตรฐานทุกประการ ไฟล์จะ. นี่เป็นสิ่งที่ดีสำหรับสคริปต์การตรวจสอบความปลอดภัยที่ฉันได้กล่าวไว้ข้างต้น คุณสามารถตั้งชื่อมันว่า audit-script-output.txt ในโฟลเดอร์ระยะไกลบางประเภทที่ต่อเชื่อม และดูว่าระบบรักษาความปลอดภัยของเซิร์ฟเวอร์นั้นปลอดภัยจากแล็ปท็อปของคุณเอง แทนที่จะมองผ่าน cat ส่งออกทั้งวัน

Nohup แตกต่างจาก Daemon อย่างไร

ถึงตอนนี้ คุณอาจสงสัยว่า nohup . ตั้งค่าอะไร นอกเหนือจากกระบวนการภูตผี ท้ายที่สุดแล้ว ทั้งสองดูเหมือนจะมีจุดประสงค์เดียวกันแต่กลับไม่เป็นเช่นนั้น

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

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

หากคุณชอบบทความนี้ใน nohup ประโยชน์และการใช้งานของมัน อย่าลืมตรวจสอบเนื้อหา Linux อื่นๆ ของเรา เช่น คำอธิบายเกี่ยวกับการอนุญาตไฟล์หรือการเพิ่มความเร็วให้กับเครื่อง Linux ที่ช้า