มีคำสั่งมากมายบนระบบ Linux มีบางอย่างที่คุณจะใช้หลายครั้งต่อวัน และบางรายการโดยทั่วไปสงวนไว้สำหรับกรณีการใช้งานพิเศษ 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.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 ที่ช้า