Lớp ghi nhật ký Python không hoạt động khi gửi thiết bị xuất chuẩn đến / dev / null


0

Tôi có một tập lệnh Python 3 đã kích hoạt ghi nhật ký (cho mục đích gỡ lỗi). Bất cứ khi nào tôi chạy / thực thi tập lệnh này, nó vẫn hoạt động tốt và các logfiles được tạo.

Tôi cũng đã tạo một tập lệnh setup.sh-bash để tải xuống và cài đặt ứng dụng của mình. Sau đó nó tự động khởi động tập lệnh bằng cách sử dụng không , để làm cho nó chạy trên nền. Lệnh này được theo sau bởi & gt; / dev / null 2 ​​& gt; & amp; 1 & amp; vì vậy nó không xuất bất cứ thứ gì ra bàn điều khiển. Tuy nhiên, đây là 'lỗi' mô-đun ghi nhật ký từ Python, vì nó không còn có thể xuất ra thứ gì đó cho các tệp nhật ký. Nó xuất ra / dev / null nếu tôi đúng.

Tôi đã tìm kiếm trực tuyến để đưa ra giải pháp, nhưng tôi đã thất bại trong mọi lần thử. Tôi hy vọng ai đó có thể đưa ra một ý tưởng cho việc này. Có lẽ tôi nên sử dụng một cái gì đó khác để làm cho tập lệnh của tôi chạy mãi mãi (cho đến khi khởi động lại tất nhiên :)) với khả năng sử dụng mô-đun ghi nhật ký Python 3 và không có đầu ra trong bảng điều khiển.

Lệnh chính xác tôi đang sử dụng để bắt đầu tập lệnh của mình như sau:

su -l -s /bin/bash scriptuser -c 'nohup python3 '/etc/scriptroot/main.py > /dev/null 2>&1 &'

Cảm ơn trước

Câu trả lời:


1

Tôi rất 'xin lỗi' khi nói rằng tôi đã tự mình tìm ra giải pháp. Có vẻ như tôi đã không đào đủ sâu. Tôi hiện đang sử dụng daemon-start-stop được hỗ trợ bởi hầu hết các hệ thống UNIX và nó hoạt động như bình thường.

Tôi đã làm theo một hướng dẫn trên internet có thể được tìm thấy ở đây: http://blog.scphillips.com/2013/07/getting-a-python-script-to-run-in-the-background-as-a-service-on-boot/

Tôi hy vọng điều này sẽ giúp với rất nhiều người dùng khác có cùng vấn đề / tìm kiếm cùng một câu trả lời.

Cảm ơn vì đã đọc.

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.