从 python 中清除内存缓存
Clear memory cache from python
我正在使用 python,因为我尝试 运行 在 for loop.So 的冷状态下来自 psql 的一些查询,在执行每个查询之前,我的缓存必须清除!
我导入了 os 然后我这样做了:
if state=="cold":
os.system('sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"')
我得到这个输出:
sh: 1: cannot create /proc/sys/vm/drop_caches: Permission denied
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
我不知道如何解决这个问题。
根据这个堆栈问题:
how to pass sudo password from python script
你可以试试这个:
password = 'my sudo password'
command = 'sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"'
# formatting the sudo password and the command
shell_script = f"echo {password} | sudo -S {command}"
# running the script
os.system(shell_script)
我正在使用 python,因为我尝试 运行 在 for loop.So 的冷状态下来自 psql 的一些查询,在执行每个查询之前,我的缓存必须清除! 我导入了 os 然后我这样做了:
if state=="cold":
os.system('sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"')
我得到这个输出:
sh: 1: cannot create /proc/sys/vm/drop_caches: Permission denied
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
我不知道如何解决这个问题。
根据这个堆栈问题:
how to pass sudo password from python script
你可以试试这个:
password = 'my sudo password'
command = 'sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"'
# formatting the sudo password and the command
shell_script = f"echo {password} | sudo -S {command}"
# running the script
os.system(shell_script)