nohup: bỏ qua đầu vào - nó có nghĩa là gì?


16

Tôi đang sử dụng nohuplệnh từ một lúc như

nohup bash life.bash > nohup.out 2> nohup.err &

Trong nohup.errtập tin tôi luôn có một dòng nohup: ignoring input. Bạn có thể vui lòng giúp tôi tìm hiểu ý nghĩa của nó?


Nếu bạn định tự mình chuyển hướng, bạn gần như không sử dụng nohupgì cả; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"thực hiện tương tự chỉ sử dụng chức năng được xây dựng trong chính vỏ.
Charles Duffy

Câu trả lời:


12

Điều đó chỉ nohupcho bạn biết những gì nó được thiết lập; nó đưa ra lỗi tiêu chuẩn mà bạn đã chuyển hướng đến nohup.err. Bạn có thể tránh tin nhắn bằng cách chuyển hướng đầu vào tiêu chuẩn của nó:

nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &

nohupkiểm tra đầu vào tiêu chuẩn, đầu ra tiêu chuẩn và lỗi tiêu chuẩn để xem cái nào được kết nối với thiết bị đầu cuối; nếu nó tìm thấy bất kỳ cái nào được kết nối, nó sẽ xử lý chúng khi thích hợp (bỏ qua đầu vào, chuyển hướng đầu ra sang nohup.out, chuyển hướng lỗi sang đầu ra tiêu chuẩn) và cho bạn biết những gì nó đã làm. Nếu nó không tìm thấy bất cứ thứ gì nó cần để ngắt kết nối, nó sẽ không tự xuất ra bất cứ thứ gì.


6

nohup đang nói với bạn chính xác những gì nó đang làm, rằng nó bỏ qua đầu vào.

Nếu bạn muốn tránh tin nhắn này, hãy chuyển hướng stdin từ /dev/nullnhư thế này

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &

Tôi hy vọng điều đó có nghĩa là, nó bỏ qua tất cả các đầu vào bàn phím theo nghĩa đơn giản là nó chạy trong nền.
Manohar Reddy Poreddy

3
man nohup

"Nếu đầu vào tiêu chuẩn là một thiết bị đầu cuối, hãy chuyển hướng nó từ một tệp không thể đọc được."

Vì thế,

nohup: ignoring input and appending output to 'nohup.out'

Nó đang làm những gì nó phải làm, bất kể các mục TÙY CHỌN , đó là lý do tại sao đầu vào bị loại bỏ.

CSONG Dường như bạn đang sử dụng chuyển hướng dư thừa. nohup đã tạo ra nohup.out cho bạn và, nếu tất cả đều hoạt động tốt, stderr cũng sẽ được chuyển hướng đến đó.

Chúc mừng!

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.