Không có, ít nhất, không thực sự đáng tin cậy.
Khi một quá trình được chia nhỏ, nó có (ít nhất) ba bộ mô tả tệp đầu tiên do cha mẹ của nó sắp xếp trước ngã ba(), vì vậy nó kế thừa chúng.
Sau ngã ba, không có mã hạt nhân, không có gì mà quá trình nào khác ngoài quy trình đó có thể thực hiện với chúng.
OK, tốt, hầu như không có gì. Hệ thống gọi các trình gỡ rối hỗ trợ (ví dụ: gdb) có thể được sử dụng để chọc bộ nhớ và thực hiện các cuộc gọi hàm trong một tiến trình. Trong ống nghiệm, điều này có thể được sử dụng để đóng và mở lại các luồng này. Trong cuộc sống thực, không có nói nếu quá trình sẽ ở trong một trạng thái thực sự không may khi bạn bắt nó trong trình gỡ rối, và sẽ trả lời bằng tự thiêu nếu bạn thử điều này.
Sử dụng trình gỡ rối để buộc mã chạy trong quá trình đích không phải là thủ tục 'bash'. – bmargulies
@bmargulies: '(printf 'p dup2 (mở ("/dev/null ", 1), 1) \ np dup2 (1,2) \ ndetach \ n'; ngủ 1) | gdb -p $ my_pid' chuyển cũng đủ như một shellscript. Cấp, 'gdb' không phải là POSIX, nhưng sau đó, không có nhiều bash-isms :) – Jander