Я делаю небольшой скрипт для запуска команд, позволяющих пользователю взаимодействовать с подчиненным. Мой пользователь - администратор, но мой скрипт сообщает мне, что доступ запрещен. Я пробовал другой путь с другим процессом, но ничего не работает. Я ученик, поэтому я учусь, и я действительно не понимаю, где моя ошибка ^^ ""
вот мой сценарий:
def CallDeadlineCommand(arguments, background=True, readStdout=True):
deadlineCommand = GetDeadlineCommand()
startupinfo = None
creationflags = 0
if os.name == 'nt':
if background:
# Python 2.6 has subprocess.STARTF_USESHOWWINDOW, and Python 2.7 has subprocess._subprocess.STARTF_USESHOWWINDOW, so check for both.
if hasattr(subprocess, '_subprocess') and hasattr(subprocess._subprocess, 'STARTF_USESHOWWINDOW'):
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess._subprocess.STARTF_USESHOWWINDOW
elif hasattr(subprocess, 'STARTF_USESHOWWINDOW'):
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
else:
# still show top-level windows, but don't show a console window
CREATE_NO_WINDOW = 0x08000000 # MSDN process creation flag
creationflags = CREATE_NO_WINDOW
arguments.insert(0, deadlineCommand)
stdoutPipe = None
if readStdout:
stdoutPipe = subprocess.PIPE
# Specifying PIPE for all handles to workaround a Python bug on Windows. The unused handles are then closed immediatley afterwards.
proc = subprocess.Popen(arguments, stdin=subprocess.PIPE, stdout=stdoutPipe, stderr=subprocess.PIPE,
startupinfo= startupinfo, creationflags=creationflags)
proc.stdin.close()
proc.stderr.close()
output = ""
if readStdout:
output = proc.stdout.read()
return output
Моя команда, которая вызывает функцию:
CallDeadlineCommand([" RemoteControl ", str(computer_name()), " ForceStopSlave"])
и он возвращает мне эту полную ошибку:
Traceback (most recent call last):
File "C:/Users/francois.CIRCUS/PycharmProjects/DeadlineMiniMonitor/mini_uimw.py", line 455, in change_value
self.kill_deadlineslave()
File "C:/Users/francois.CIRCUS/PycharmProjects/DeadlineMiniMonitor/mini_uimw.py", line 538, in kill_deadlineslave
CallDeadlineCommand([" RemoteControl ", str(computer_name()), " ForceStopSlave"])
File "C:/Users/francois.CIRCUS/PycharmProjects/DeadlineMiniMonitor/mini_uimw.py", line 680, in CallDeadlineCommand
startupinfo=startupinfo, creationflags=creationflags)
File "C:\Python27\Lib\subprocess.py", line 394, in __init__
errread, errwrite)
File "C:\Python27\Lib\subprocess.py", line 644, in _execute_child
startupinfo)
WindowsError: [Error 5] Access is denied
Спасибо, лучшее,
Pixi