lsof용 Python 모듈이 있나요?

lsof용 Python 모듈이 있나요?

다음을 실행하여 Kali Linux를 업데이트하려고 할 때마다

sudo apt update

다음과 같은 오류 메시지가 나타납니다.

Unable to lock directory /var/lib/apt/lists/

이 문제를 해결하는 방법은 다음을 실행하여 프로세스를 찾는 것입니다.

lsof /var/lib/dpkg/lock
lsof /var/lib/apt/lists/lock
lsof /var/cache/apt/archives/lock

잠금을 획득한 프로세스를 종료합니다.

프로세스를 자동화하고 싶습니다.

답변1

당신이 물어봤어야 했던 질문에 대한 대답

이는 좋은 생각이 아닙니다.. 맹목적으로 프로세스를 종료해서는 안 됩니다. 파일을 잠근 프로세스와 그 이유를 알아보세요.

게다가, 이 문제가 자주 발생한다면 뭔가 잘못하고 있는 것일 수도 있습니다. Kali Linux는 침투 테스트를 위한 특수 목적의 배포판입니다. 설치하도록 설계되지 않았습니다.침투 테스트 이외의 작업을 수행하려면 Kali를 사용하지 마십시오.. Ubuntu와 같은 정규 분포를 사용합니다.

Python에서 파일이 열려 있는 프로세스를 찾는 방법

당신은 사용할 수 있습니다psutil프로세스를 열거하고 프로세스가 열려 있는 파일을 열거하는 패키지입니다.https://stackoverflow.com/questions/20106220/check-for-open-files-with-python-in-linux코드 예제가 있습니다.

파일이 열려 있는 프로세스를 열거하려면 다음의 출력을 구문 분석하는 것이 더 쉬울 수 있습니다.fuser.

import os, subprocess
try:
    pids = subprocess.check_output(['fuser', '--', filename], stdout=open(os.devnull))
    for pid in map(int, pids.split()):
       print('Process {} has {} open'.format(pid, filename))

답변2

/var/lib/apt/lists/ 디렉토리를 잠글 수 없습니다.

apt제공 apt-daily-upgrade.serviceapt-daily.service서비스가 활성화되면 apt백그라운드에서 실행됩니다. 보다systemctl list-timers

비활성화하려면 :

systemctl disable apt-daily.timer
systemctl disable apt-daily.service
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.service

데비안:무인 업그레이드

관련 정보