การปิดเชลล์ทำได้อย่างปลอดภัยเพียงแค่คลิก "X" หรือใช้ "ctrl + d" ในขณะที่ล็อกอินด้วยรูทด้วย su หรือปลอดภัยกว่าหรือไม่ถ้าต้องการปิดโดยการพิมพ์ "exit" มีความแตกต่าง (การรักษาความปลอดภัยที่ชาญฉลาด) หรือเหมือนกันและมันไม่สำคัญว่าคุณจะใช้วิธีใด?
การปิดเชลล์ทำได้อย่างปลอดภัยเพียงแค่คลิก "X" หรือใช้ "ctrl + d" ในขณะที่ล็อกอินด้วยรูทด้วย su หรือปลอดภัยกว่าหรือไม่ถ้าต้องการปิดโดยการพิมพ์ "exit" มีความแตกต่าง (การรักษาความปลอดภัยที่ชาญฉลาด) หรือเหมือนกันและมันไม่สำคัญว่าคุณจะใช้วิธีใด?
คำตอบ:
Ctrl-D หรือexit
เหมือนกัน
หากคุณใช้ "X" ตัวจัดการหน้าต่างจะส่งสัญญาณยุติการทำงานไปที่เชลล์ ซึ่งมีในตอนท้ายผลลัพธ์เดียวกัน หากเชลล์ไม่ตอบสนองผู้ใช้มักจะได้รับคำเตือนและสามารถบังคับให้เชลล์สิ้นสุด (เท่ากับkill -9 $PID
)
มีความแตกต่างเล็กน้อยระหว่าง "X" - และ exit-method หากคุณใช้zsh
เป็นเชลล์: หากคุณมีกระบวนการพื้นหลังที่ทำงานอยู่exit
/ ctrl-D จะสร้างครั้งแรกเฉพาะข้อความเตือน "คุณมีงาน" ครั้งที่สองที่เชลล์ปิด ด้วยปุ่ม "X" เชลล์จะหยุดการทำงานทันทีโดยไม่มีคำเตือนใด ๆ
การปิดเทอร์มินัลอีมูเลเตอร์ไม่เหมือนกับการกดCTRL + D
(เว้นแต่huponexit
จะตั้งค่าตัวเลือก)
เมื่อคุณปิดเทอร์มินัล (คลิก "X") เทอร์มินัลอีมูเลเตอร์จะส่ง SIGHUP ไปยังเชลล์ เมื่อ bash ได้รับ SIGHUP มันจะส่ง SIGHUP ไปยังงานทั้งหมดของคุณ
เมื่อคุณออกจากเทอร์มินัลด้วยCTRL+D
หรือlogout
หรือexit
เชลล์จะออกโดยไม่ส่ง SIGHUP ไปยังงานทั้งหมด นี่คือการทำงานเริ่มต้น แต่สามารถเปลี่ยนแปลงได้โดยการตั้งค่าทุบตีการตั้งค่าshopt
huponexit
ดังนั้นในที่สุดหากเป้าหมายของคุณคือเพื่อให้แน่ใจว่าไม่มีอะไรทำงานในพื้นหลังควรคลิก "X" อย่างปลอดภัย
.
ข้อมูลที่ให้ไว้โดย jofel ในความคิดเห็นของเขาไม่ถูกต้อง (ขออภัย jofel) เทอร์มินัลอีมูเลเตอร์ไม่มีเงื่อนงำว่างานใดกำลังทำงานอยู่ภายใต้เชลล์ดังนั้นจึงไม่สามารถยกเลิกได้
หมายเหตุ :
พฤติกรรมนี้ขึ้นอยู่กับเชลล์อย่างสมบูรณ์ เป็นไปได้อย่างสิ้นเชิงว่ากระสุนที่แตกต่างกันนั้นมีพฤติกรรมเริ่มต้นที่แตกต่างกัน
Ctrl+d
กระบวนการได้รับการสืบทอดโดย PPID 1 = systemd
ไม่มีความแตกต่าง มากเมื่อคุณกด ^ D คุณกำลังทำสิ่งเดียวกันกับการพิมพ์ 'exit':
$ su -
Password:
# [press ^D]
logout
CTRL+D
และexit
จะเหมือนกันคำถามคือเกี่ยวกับการคลิกของผู้จัดการหน้าต่าง "X" เพื่อปิดหน้าต่างที่ไม่ได้พิมพ์exit
:-)
&
จะยังคงทำงานอยู่ หากคุณ "X" พวกเขาจะถูกยกเลิก