เริ่มโปรแกรมจากเทอร์มินัลแล้วออกจากเทอร์มินัล


2

ฉันไม่แน่ใจจริงๆว่าจะวลีชื่อคำถามอย่างไร สิ่งที่ฉันหมายถึงคือเมื่อฉันใช้เทอร์มินัลเพื่อเริ่มโปรแกรมส่วนใหญ่เวลาที่ปิดเทอร์มินัลนั้นก็จะออกจากโปรแกรมที่เริ่มต้นด้วย

ทีนี้มันก็สมเหตุสมผลถ้าเรามองจากมุมมองเชิงลำดับชั้นของเทอร์มินัลว่าเป็นกระบวนการหลักที่ทำให้กระบวนการของเด็กเกิดขึ้น

อย่างไรก็ตามฉันสังเกตเห็นว่านี่ไม่ใช่กรณี ตัวอย่างเช่นฉันดาวน์โหลดSublime Text Editorและสร้าง symlink ใน PATH ฉันสามารถเริ่มโปรแกรมนี้โดยการออกsublimeคำสั่งจากเทอร์มินัล แต่การปิดโปรแกรมเทอร์มินัลในภายหลังจะไม่ทำอะไรเลยให้ประเสริฐ

อย่างไรก็ตามเวลาอื่นกระบวนการลูกที่เริ่มต้นมันก็ปิดหรือแฮงค์และทำให้เกิดปัญหา

tl; dr: เป็นกรณีที่โปรแกรมเริ่มต้นจากกระบวนการหลักที่ปิดจะถูกปิดทุกครั้งเมื่อออกจากพาเรนต์หรือไม่ และถ้าเป็นเช่นนั้นจะมีวิธีการเริ่มโปรแกรมจาก terminal แล้วปิด terminal โดยไม่ออกจากกระบวนการเริ่มต้นหรือไม่

จุดทั้งหมดที่นี่คือการเริ่มต้นโปรแกรมจากเทอร์มินัลดังนั้นฉันไม่ได้เติมเดสก์ท็อปของฉันด้วย symlink


นอกจากนี้คุณยังสามารถติดตั้งกล่องโต้ตอบ "เรียกใช้" เช่น gmrunrc และไม่เกี่ยวข้องกับเทอร์มินัลเลย
Aviator45003

คำตอบ:


3

คุณสามารถปฏิเสธกระบวนการโดยใช้ชื่อ

$ nedit &
$ disown nedit
$ exit

และ nedit จะยังคงอยู่

บางโปรแกรมแยกตัวเองดังนั้นโปรแกรมที่คุณเริ่มต้นจะเปิดอีกโปรแกรมที่ทำงานด้วยตนเอง


1
ดู ( unix.stackexchange.com/questions/3886/... ) เพื่อชี้แจงปฏิเสธ สำหรับหน้าคู่มือโปรดทราบว่าการปฏิเสธ (และ& ) เป็นbash internals ในขณะที่nohupเป็นคำสั่งภายนอก
AFH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.