qt5를 사용하여 모든 프로세스 종료

qt5를 사용하여 모든 프로세스 종료

특정 그래픽 프레임워크 사용과 충돌하는 Python 스크립트를 실행하고 싶습니다.

ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'qt5' is currently running

qt5따라서 현재 사용 중인 모든 프로세스를 확인 하고 결과에 따라 해당 프로세스를 종료하여 스크립트를 실행할 수 있는 방법이 있는지 묻고 있습니다 . (qt5 문제 이전에는 스크립트가 제대로 작동했습니다. 어떤 응용 프로그램이 이 새로운 문제를 일으키는지 알 수 없습니다.)

답변1

이것은 다음을 사용하여 내 컴퓨터에서 상위 5개의 PID를 찾습니다.libnss_files-2.23.so.

$ for p in /proc/[0-9]*
    do test -d $p/map_files && 
    sudo ls -l $p/map_files | 
        awk -vpid=$(basename  $p) -vname=libnss_files-2.23.so -F '->' \
            '$2 ~ name {print pid; exit}'
  done |
  head -5 
1114
1155
12066
12148
12156

요즘 리눅스에서는속성 X가 있는 모든 PID 찾기Procfs는 이 문제를 해결하기 위해 자주 사용됩니다.

관련 정보