Picloud(AMAZON EC2服务器)上的子流程更改文件夹权限?

时间:2012-05-04 15:49:11

标签: python windows amazon-ec2 subprocess administrator

在Ubuntu中,我使用subprocess.Popen来调用可执行文件,这会将一些输出文件保存在服务器的硬盘驱动器上(Picloud)。代码已在本地Ubuntu计算机上成功测试。但是,它在服务器上不起作用。我的方法如下:

#create a new folder. 
#The permission is drwxrwx--- both locally and on the server end
os.makedirs(folder)

#copy the executable file to this folder. 
#The permission is drwxrwx--- both locally and on the server end after copy
shutil.copy("a.exe", folder)

#call this exe file. 
#The permission is drwxrwx--- locally but changed to drwxr-x--- on the server end. 
#Since I do not have the write permit, my code fails
subprocess.Popen("a.exe")
>>>OSError: [errno 13] permission denied.

我不确定为什么子进程会在服务器端更改我的文件夹权限。所以我尝试使用sudo模式:     subprocess.Popen(“sudo”,“a.exe”) 正如我所料,此代码仅在本地工作。

那么有人可以帮我解释为什么子进程会删除我的写入权限吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

在Windows中,您可以使用以下命令运行它:

subprocess.Popen("runas /user:Admin a.exe")