Đây là hiểu biết của tôi về cách sử dụng &, disownvà nohup:
<command>: chạy quy trình trong phiên bản hiện tại của Terminalbash, ở nền trước (tức là quá trình được liệt kê dưới dạngbashcông việc nền trước vàstdin,stdoutvàstderrvẫn bị ràng buộc với thiết bị đầu cuối ); không miễn dịch với hangouts ;<command> &: chạy quy trình trong phiên bản hiện tại của Terminalbash, trong nền (tức là quá trình được liệt kê dưới dạngbashcông việc nền vàstdin,stdoutvàstderrvẫn bị ràng buộc với thiết bị đầu cuối ); không miễn dịch với hangouts ;<command> & disown: Chạy quá trình trong vòng hiện hành của Nhà gabashVí dụ, ở chế độ nền , nhưng quá trình này được tách ra khỏibashdanh sách 'việc làm s' (tức là quá trình không được liệt kê như là mộtbashcông việc foreground / nền vàstdin,stdoutvàstderrvẫn còn ràng buộc với thiết bị đầu cuối ); miễn dịch với hangouts ;nohup <command> & disown: Chạy quá trình trong vòng hiện hành của Nhà gabashVí dụ, ở chế độ nền , nhưng quá trình này được tách ra khỏibashdanh sách 'việc làm s' (tức là quá trình không được liệt kê như là mộtbashcông việc foreground / nền vàstdin,stdoutvàstderrđang không còn ràng buộc với thiết bị đầu cuối ) ; miễn dịch với hangouts ;
Vì vậy, ngoài việc nohup <command> & disownngăn chặn stdinvà chuyển hướng stdoutvà stderrđể nohup.outtheo mặc định, có vẻ như với tôi như nó có thể được coi là hoàn toàn tương đương với <command> & disown.
Là tất cả trên đúng? Bất kỳ quan niệm sai lầm?
bashcá thể cha mẹ sẽ không giết quá trình