Cách sạch để hủy tập lệnh xử lý QGIS khỏi gui


12

Tôi đã viết một kịch bản xử lý QGIS thực hiện phân tích cơ sở gần nhất. Lấy bộ dữ liệu đầu vào hoàn chỉnh (20k địa chỉ làm điểm bắt đầu, ~ 100 điểm mục tiêu, mạng đường OSM với ~ 13k linestrings), tập lệnh chạy khoảng 3 giờ và do đó sử dụng các chỉ báo tiến trình khác nhau, để đảm bảo cho người dùng biết rằng vẫn còn tồn tại (đầu ra nhật ký, thanh tiến trình, thời gian còn lại, các dải cao su chỉ đường đến cách thuận tiện gần nhất vừa được xử lý, ảnh chụp màn hình cp bên dưới):

nhập mô tả hình ảnh ở đây

Bây giờ tôi muốn hủy tập lệnh đang chạy và theo như tôi thấy, điều này chỉ có thể được thực hiện với [X]phía trên bên phải trong cửa sổ xử lý tập lệnh gui.

Nhưng làm như vậy, tập lệnh vẫn xử lý như được chỉ định bởi các dải cao su màu xanh cũng như thời gian xử lý và thanh tiến trình ...

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

... và tài nguyên hệ thống trong trình quản lý tác vụ:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Tuy nhiên, vài phút (~ 14 phút) sau đó, tập lệnh dừng xử lý và hệ thống không tiêu tốn tài nguyên nữa:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Vì khoảng thời gian giữa việc đóng cửa sổ và dừng xử lý dường như khá khó đoán đối với tôi, nên câu hỏi của tôi là: Đây có phải là cách được đề xuất để hủy các tập lệnh xử lý QGIS hay không, có cách nào khác để xóa sạch các tập lệnh đó khỏi gui không?


Chắc chắn không phải là cách tốt nhất cũng không phải là cách rõ ràng nhất để làm điều đó, nhưng tôi thường giết chết quy trình từ Trình quản lý tác vụ Windows theo nghĩa đen: hành động này đã đóng cửa QGIS do hậu quả, nhưng cũng làm gián đoạn tập lệnh và tiết kiệm tài nguyên hệ thống . Tuy nhiên, nếu bạn muốn có ý tưởng về thời gian còn lại, bạn có thể đặt thanh tiến trình theo lần lặp qua các tính năng (Tôi không biết liệu đây có phải là điều bạn muốn không).
mgri

Có lẽ bài đăng này có thể giúp: Làm thế nào để chấm dứt tập lệnh Python trong khung xử lý đúng cách? . Cụ thể, câu trả lời của gen bằng cách sử dụng sys.exitfunc().
Joseph

Câu trả lời:


2

Từ shell lệnh, "taskkill / f / im qgis-ltr-bin.exe / t" sẽ chấm dứt quá trình ngay lập tức. Tôi không nghĩ có một giải pháp gui, dựa trên những gì bạn sẽ làm. Trong QGIS, nếu bạn muốn kết thúc quá trình một cách sạch sẽ, bạn phải đợi chương trình khi kết thúc quá trình. Nhưng thông qua lệnh shell, điều này sẽ cho phép bạn tiến về phía trước ngay lập tứ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.