Bạn có thể thu hồi quyền sở hữu của thành phố, chương trình đào tạo từ vỏ với tích disown
hợp:
# press Ctrl+Z to suspend the program
bg
disown
Tuy nhiên, điều này chỉ báo cho shell không gửi SIGHUP
tín hiệu đến chương trình khi shell thoát ra. Chương trình sẽ giữ lại bất kỳ kết nối nào với thiết bị đầu cuối, thường là các luồng đầu vào, đầu ra và lỗi tiêu chuẩn. Không có cách nào để gắn lại những thứ đó đến một thiết bị đầu cuối khác. ( Màn hình hoạt động bằng cách mô phỏng một thiết bị đầu cuối cho mỗi cửa sổ, vì vậy các chương trình được gắn vào cửa sổ màn hình.)
Có thể gắn lại các trình biên dịch vào một tệp khác bằng cách đính kèm chương trình trong trình gỡ lỗi (nghĩa là sử dụng ptrace
) và thực hiện cuộc gọi open
, dup
và close
. Có một vài công cụ làm điều này; đây là một quá trình khó khăn và đôi khi họ sẽ phá vỡ quy trình thay thế. Các khả năng bao gồm (các liên kết được thu thập từ các câu trả lời cho Làm cách nào tôi có thể từ chối một quy trình đang chạy và liên kết nó với một vỏ màn hình mới? Và tôi có thể mở khóa / sàng lọc một quy trình đã bắt đầu không? ):