Tôi biết làm thế nào để chuyển hướng đầu ra và làm thế nào để ngăn chặn chúng trong bash. Bây giờ, giả sử tôi vô tình quên gắn phần chuyển hướng đầu ra vào lệnh (ví dụ 2>&1
hoặc > /tmp/mystdout
) và quá trình nền của tôi đã chạy được một lúc, tôi vẫn có thể thay đổi thành nơi stdout
và stderr
đang được ghi vào? Tôi thực sự muốn không giết và khởi động lại ứng dụng.
Để cụ thể hơn như được hỏi bởi Gilles trong bình luận của mình, tôi muốn tìm hiểu về nó trong các tình huống cụ thể:
- tập tin đầu ra sai
- quên chuyển hướng
stderr
đếnstdout
Hoặc là một sự kết hợp của cả hai
Ví dụ: tôi có Apache đang chạy và tôi có thể thấy các mô tả tệp:
/proc/8019/fd/0 -> /dev/null
/proc/8019/fd/1 -> /dev/null
/proc/8019/fd/2 -> /var/log/apache2/error.log