นี่คือความเข้าใจของฉันเกี่ยวกับการใช้ของ&, disownและnohup:
<command>: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในเบื้องหน้า (คือกระบวนการที่ระบุว่าเป็นbashงานเบื้องหน้าและstdin,stdoutและstderrยังคงผูกไว้กับขั้ว ); ไม่ภูมิคุ้มกัน hangups ;<command> &: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลัง (คือกระบวนการที่ระบุว่าเป็นbashงานพื้นหลังและstdin,stdoutและstderrยังคงผูกไว้กับขั้ว ); ไม่ภูมิคุ้มกัน hangups ;<command> & disown: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลังแต่กระบวนการนี้ออกจากbashรายการของงาน ' (คือกระบวนการที่ไม่ได้ระบุว่าเป็นbashเบื้องหน้างานพื้นหลัง / และstdin,stdoutและstderrยังคงผูกพันไปยังสถานี ); ภูมิคุ้มกันต่อ hangups ;nohup <command> & disown: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลังแต่กระบวนการนี้ออกจากbashรายการของงาน ' (คือกระบวนการที่ไม่ได้ระบุว่าเป็นbashเบื้องหน้างานพื้นหลัง / และstdin,stdoutและstderrจะไม่ได้ยังคงผูกพันไปยังสถานี ) ; ภูมิคุ้มกันต่อ hangups ;
ดังนั้นนอกเหนือจากnohup <command> & disownการปิดกั้นstdinและเปลี่ยนเส้นทางstdoutและstderrไปโดยปริยายก็ดูเหมือนว่าผมชอบที่จะสามารถได้รับการพิจารณาโดยสิ้นเชิงเทียบเท่ากับnohup.out<command> & disown
ถูกต้องทั้งหมดข้างต้นหรือไม่ ความเข้าใจผิดใด ๆ
bashเช่นจะไม่ฆ่ากระบวนการ