Câu trả lời:
Trong Bash, bạn có thể disown
quá trình .
disown [-ar] [-h] [jobspec … ]
Mỗi
jobspec
được loại bỏ khỏi bảng các công việc đang hoạt động.
-h
SIGHUP không được gửi đến công việc nếu shell nhận được SIGHUP. công việc hiện tại .-a
tất cả-r
điều hành công việc.
Xem thêm: Shell Stuff: kiểm soát công việc và màn hình
Nếu bạn sử dụng bash shell, thì bạn có một giải pháp thay thế (không phải lúc nào bạn cũng vậy?) Thay vì sử dụng nohup, chỉ cần chạy lệnh bình thường, đặt nó vào nền một trong hai cách chúng ta đã thảo luận và sau đó từ chối - h công việc.
$ tar cjf /backup/rob/home.tar.bz2 . & [1] 32089 $ disown -h
Sau đó, bạn có thể đăng xuất an toàn hoặc đóng thiết bị đầu cuối của bạn. Cũng như nohup, nếu bạn đóng thiết bị đầu cuối hoặc đăng xuất, bạn sẽ không thể truy cập lệnh đó trực tiếp bằng các công việc và
%<N>
hoặc làfg <N>
lệnh ..
Các bài viết liên quan trên mạng Stack Exchange:
%
thay thế - ví dụ ví dụ của bạn có thể được gõ làdisown %[TAB]
và zsh sẽ mở rộng nó thànhdisown %tar
. Vì tò mò - bash có cơ chế tương tự không?