1

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.

サブプロセスがサーバー側でフォルダーのアクセス許可を変更する理由がわかりません。subprocess.Popen("sudo", " a.exe sudo") 予想通り、このコードはローカルでのみ機能します。

サブプロセスが私の書き込み許可を削除する理由について、誰か助けてもらえますか?

ありがとう!

4

1 に答える 1

0

Windows では、次のコマンドで実行できます。

subprocess.Popen("runas /user:Admin a.exe")
于 2012-05-04T15:59:22.930 に答える