Đây là hiểu biết của tôi về cách sử dụng &
, disown
và 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ạngbash
công việc nền trước vàstdin
,stdout
vàstderr
vẫ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ạngbash
công việc nền vàstdin
,stdout
vàstderr
vẫ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à gabash
Ví dụ, ở chế độ nền , nhưng quá trình này được tách ra khỏibash
danh sách 'việc làm s' (tức là quá trình không được liệt kê như là mộtbash
công việc foreground / nền vàstdin
,stdout
vàstderr
vẫ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à gabash
Ví dụ, ở chế độ nền , nhưng quá trình này được tách ra khỏibash
danh sách 'việc làm s' (tức là quá trình không được liệt kê như là mộtbash
công việc foreground / nền vàstdin
,stdout
và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> & disown
ngăn chặn stdin
và chuyển hướng stdout
và stderr
để nohup.out
theo 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?
bash
cá thể cha mẹ sẽ không giết quá trình