gpt4 book ai didi

python Popen chmod错误启动Postgresql

转载 作者:行者123 更新时间:2023-11-29 13:01:35 25 4
gpt4 key购买 nike

我可以运行:

sudo service postgresql start

从命令行没有问题。但是,当我尝试运行以下命令时:

import os
from subprocess import Popen,PIPE

pwd = getsudopwd()
cmd = ['sudo','service',process,'state']
p = Popen(cmd,stdout=PIPE,stdin=PIPE,stderr=PIPE,universal_newlines=True)
out,err = p.communicate(pwd+'\n')
if err: raise RuntimeError(err)

出现以下错误

chmod:更改“/var/run/postgresql”的权限:不允许操作。那么,为什么从 Python 运行时访问 postgresql 的 pid 目录会出错?

最佳答案

您可以简单地将 -S 与 sudo 一起使用:

from subprocess import Popen, PIPE
import getpass

pwd = getpass.getpass()
proc = Popen(['sudo', '-S', 'service',process,'state'],
stdout=PIPE, stdin=PIPE, stderr=PIPE,universal_newlines=True)
out,err= proc.communicate(input="{}\n".format(pwd))

关于python Popen chmod错误启动Postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com