2012-02-14 25 views
5

Tôi đã có một chương trình đã lấy một số dữ liệu nhất định từ một số trang Web nhất định và khi các trang Web thay đổi, hoạt động tương ứng.Python: Chạy Daemon Processes trong Windows7

Làm cách nào để thiết lập chương trình để chương trình tiếp tục chạy trong nền?

Tôi không cần bất kỳ chi tiết cụ thể

Tôi chỉ thực sự nhầm lẫn về khái niệm này và sẽ đánh giá cao bất cứ sự giúp đỡ bất cứ ai cung cấp.

+1

Trong các hệ thống đa nhiệm hiện nay, có rất ít sự khác biệt giữa "nền trước" và "nền", các chương trình chỉ chạy. Bạn đang sử dụng hệ thống nào? (Nó quan trọng.) –

+0

Hãy xem [câu trả lời] (http://stackoverflow.com/questions/12843903/how-to-start-daemon-process-from-python-on-windows/12844523#12844523) –

Trả lời

0

Nếu bạn muốn để có thể chỉ bắt đầu quá trình của bạn và có nó nền chính nó và làm một vài điều điển hình hơn rằng "daemon" quá trình làm trong Unix, xem ở đây: How do you create a daemon in Python?

-1

Bạn chỉ cần phải rời khỏi bạn chương trình đang chạy! Vui lòng google "daemon python" và xem cách triển khai quy trình nền liên tục trong Python.

Bây giờ, bạn không thể biết khi nào một trang web thay đổi trừ khi bạn bỏ phiếu. Nếu trang web được thiết kế tốt, trang bạn đang cố gắng thăm dò sẽ có tiêu đề "Được sửa đổi lần cuối", bạn có thể thực hiện yêu cầu "HEAD" mỗi lần (thường là tốt: không thăm dò ý kiến ​​điên rồ) và hành động khi Cuối cùng -Đã sửa đổi> = số được ghi. Nếu trang web không được thiết kế tốt, nó sẽ không có tiêu đề Last-Modified hoặc ETAG đáng tin cậy, trong trường hợp đó bạn sẽ phải phân tích thủ công và tự kiểm tra các thay đổi.

Chúc mừng.

0

Không có khái niệm về "nền" trong Windows. Nhưng khái niệm vỏ UNIX của một tiến trình nền có thể được mô phỏng hợp lý bằng cách chạy tập lệnh Python của bạn như một dịch vụ Windows. Có một vài gợi ý trong câu hỏi này: Is it possible to run a Python script as a service in Windows? If possible, how?

Để sử dụng thông thường, tôi khuyên bạn nên học cách sử dụng srvany từ câu trả lời thứ hai.

10

start path-to-pythonw.exe your-code.py

pythonw có nghĩa là không có bảng điều khiển.

bắt đầu có nghĩa là bắt đầu trên nền.

nếu python của bạn đã được cài đặt trên toàn hệ thống, bạn có thể có thể start your-code.pyw

.pyw gắn liền với pythonw.exe

nhớ đến bạn không thể sử dụng in (để stdout) trong trường hợp này.

+3

tốt, bạn __can__ sử dụng in, bạn sẽ không thấy nó ... – Endophage

+1

Tôi đã gặp phải các vấn đề mà mọi bản in đều ném một ngoại lệ. Một nhà phát triển còn lại in trên tất cả các nơi ans stdout được đóng/ngắt kết nối làm trăn ném. –

+0

Điều này mở ra một cửa sổ dòng lệnh khác trong windows8.1, nó không hoạt động ở chế độ nền: / – Karavana

Các vấn đề liên quan