嗨,我有一个修改应用程序配置文件的python脚本。要应用这个,我需要重新启动应用程序。为此,我调用init.d文件。但当我执行此操作时,我必须是root用户,否则应用程序无法在端口上绑定她。我也不想用根用户的权限执行我所有的python脚本。如何使用root权限执行重新启动,然后删除它们。

我在开始时设置用户权限:

if __name__ == "__main__":
uid = pwd.getpwnam('ubuntu')[2]
os.setuid(uid)
app.run(host='0.0.0.0', port=5001, debug=True)

在脚本的最后,我需要执行:

^{pr2}$

webapplication绑定在端口80上。

如果我用这个配置执行脚本,webapplication就不能启动并返回消息“cannotbindsocketonthe80”。

有什么想法吗?有一个干净的解决方案,在Debian服务器上用python脚本只执行一个具有root权限的外部命令?

提前到塔斯克。

注:我尝试过使用与main函数相同的方法,并将用户“ubuntu”替换为“root”,但没有用。