Có thể dừng đầu ra từ một lệnh sau bg?


8

Giả sử tình huống này

wget http://file 

wget bắt đầu tải tập tin.

Tôi đặt nó trong nền.

^Z
bg

Lệnh đi vào nền.

Nhưng đầu ra của nó vẫn nằm trên bàn điều khiển - nếu bàn điều khiển vẫn mở.

Có thể dừng đầu ra của lệnh?

Wget chỉ là một ví dụ; nghĩ về một lệnh viết rất nhiều đầu ra.

Tại bàn điều khiển, tôi biết có thể làm bgvà sau đó đóng thiết bị đầu cuối và mở một thiết bị khác, nhưng nếu tôi chỉ có một thiết bị đầu cuối có sẵn và không có thiết bị đầu cuối giả thì sao?


Câu trả lời:


2

Đây là một giải pháp thực sự chuyển hướng đầu ra của một lệnh trong khi nó đang chạy: /superuser/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a- nhật ký

Đối với một giải pháp có thể sử dụng nhiều hơn trong kịch bản sử dụng thiết bị đầu cuối hàng ngày, bạn có thể thực hiện wget -o log http://file & để chạy wgettrong nền và ghi đầu ra của nó vào logthay vì thiết bị đầu cuối của bạn. Tất nhiên, bạn sẽ không thấy bất kỳ đầu ra nào trong trường hợp này (ngay cả khi bạn chạy wgetở nền trước), nhưng bạn có thể làm gì tail -f logđể xem đầu ra khi nó phát triển.


2

Bạn có nghĩa là bạn muốn giữ wget (hoặc một số cmd khác) chạy nền mà không xuất thông báo ra bàn điều khiển? Nếu đó là câu hỏi, bạn có thể thửredirection

$ wget http://file > /dev/null

cmd ở trên sẽ chuyển hướng stdoutđến /dev/nullvà bạn sẽ không thấy thông báo ngoại trừ thông báo lỗi. Nếu bạn không muốn thấy thông báo lỗi, hãy thử điều này

$ wget http://file 1>/dev/null 2>&1

Bạn có thể google redirectionđể biết thêm thông tin chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.