GUI에서 QGIS 처리 스크립트를 취소하는 깔끔한 방법


12

가장 가까운 시설 분석을 수행하는 QGIS 처리 스크립트를 작성했습니다. 완전한 입력 데이터 세트 (시작 지점으로 20k 주소, ~ 100 대상 지점, ~ 13k 라인 스트링이있는 OSM 도로 네트워크)를 사용하여 스크립트가 약 3 시간 동안 실행되므로 다양한 진행률 표시기를 사용하여 사용자에게 여전히 살아 있음 (로그 출력, 진행률 표시 줄, 남은 시간, 고무 밴드는 방금 처리 된 가장 가까운 시설을 보여줍니다 (아래 스크린 샷)) :

여기에 이미지 설명을 입력하십시오

이제 실행중인 스크립트를 취소하고 싶습니다 [X]. 처리 스크립트 GUI 창에서 오른쪽 상단 에서만 수행 할 수 있습니다 .

그러나 그렇게하면 스크립트는 처리 시간과 진행률 표시 줄뿐만 아니라 파란색 고무 밴드로 표시된대로 처리 상태로 유지됩니다 ...

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

... 및 작업 관리자의 시스템 리소스 :

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

그러나 스크립트에서 몇 분 (약 14 분) 후에 처리가 중지되고 시스템에서 더 이상 리소스를 소비하지 않습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

창 닫기와 처리 중지 사이의 시간 범위가 상당히 예측 불가능한 것 같습니다. 제 질문은 다음과 같습니다. QGIS 처리 스크립트를 취소하는 권장 방법입니까, 아니면 GUI에서 해당 스크립트를 완전히 취소하는 다른 방법이 있습니까?


확실히 최선의 방법이나 명확한 방법은 아니지만 일반적으로 말 그대로 Windows 작업 관리자에서 프로세스를 종료합니다.이 작업으로 인해 QGIS가 닫히지 만 스크립트가 중단되고 시스템 리소스가 절약됩니다. . 그러나 남은 시간에 대해 알고 싶다면 기능의 반복에 따라 진행률 표시 줄을 설정할 수 있습니다 (이것이 원하는 것인지 모르겠습니다).
mgri

아마도이 게시물이 도움이 될 수 있습니다. 프로세싱 프레임 워크에서 Python 스크립트를 올바르게 종료하는 방법은 무엇입니까? . 특히,를 사용하여 유전자의 대답 sys.exitfunc().
Joseph

답변:


2

명령 셸에서 "taskkill / f / im qgis-ltr-bin.exe / t"는 프로세스를 즉시 종료합니다. 그래도 당신이 원하는 것을 기반으로 GUI 솔루션이 있다고 생각하지 않습니다. QGIS에서 프로세스를 깨끗하게 끝내려면 프로세스를 종료 할 때 프로그램을 기다려야합니다. 그러나 커맨드 쉘을 통해 바로 앞으로 나아갈 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.