![/proc/sys/vm/drop_caches를 생성할 수 없습니다: 권한이 거부되었습니다.](https://linux55.com/image/188770/%2Fproc%2Fsys%2Fvm%2Fdrop_caches%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
콜드 상태의 for 루프에서 psql의 일부 쿼리를 실행하려고 하기 때문에 Python을 사용하고 있습니다. 따라서 각 쿼리를 실행하기 전에 캐시를 지워야 합니다. os를 가져온 후 다음을 수행했습니다.
if state=="cold"
os.system('sudo sh -c "/usr/bin/echo 1 > /proc/sys/vm/drop_caches')
Python을 사용하여 캐시를 지우는 방법을 알고 있습니까?
우분투 20.04를 사용하고 있습니다.
답변1
쉘 대신 Python을 선택하는 이유는 무엇입니까? Python에서 쉘 명령을 실행하는 것은 의미가 없습니다. 정말로 Python을 사용하고 싶다면 이렇게 할 수 있습니다.
with open("/proc/sys/vm/drop_caches", "w") as f:
f.write("1")
sudo
스크립트 내에서 사용하는 대신 Python 스크립트를 실행하십시오 .
답변2
노력하다
os.system('echo 1 | sudo tee /proc/sys/vm/drop_caches')