Я работаю над написанием процесса на Python, и в своем коде я делаю несколько вызовов в командной строке, используя p = subprocess.Popen(['example', 'command', 'and', 'args')
. Недавно я столкнулся с проблемой, что для нескольких вызовов в командной строке необходимы разрешения sudo
, и поэтому пользователю приходится вводить пароль sudo несколько раз, что нежелательно. Есть ли способ вызвать только один экземпляр оболочки и многократно использовать его во всей программе? Можно ли это сделать, даже если разные команды запускаются из разных классов? Спасибо!Неоднократно используя один подпроцесс. Пример экземпляра в python
3
A
ответ
0
Для конкретности, предположим, что ваша программа выглядит следующим образом:
import subprocess
import shlex
proc = subprocess.Popen(shlex.split('fdisk -l'))
proc.communicate()
proc = subprocess.Popen(shlex.split('fdisk -l'))
proc.communicate()
Запуск его как обычный пользователь не возвращает никакого вывода.
Но если вы запустите
% sudo python /path/to/test.py
тогда вы побудил один раз пароль суперпользователя, и оба subprocess.Popen
команды выполняются в качестве корня.
+0
Я пропустил это. Это трюк, спасибо большое! – EagerToLearn
Смежные вопросы
- 1. Python - используя подпроцесс для вызова sed?
- 2. Завершить подпроцесс в Python
- 3. Выполнять подпроцесс последовательно в python
- 4. Подпроцесс Python
- 5. Python подпроцесс модуль
- 6. подключенный подпроцесс в python
- 7. Нагрузочный подпроцесс в Python
- 8. Используйте подпроцесс в Python
- 9. python подпроцесс терминал mac osx
- 10. Подпроцесс Python echo буква unicode
- 11. Подпроцесс Python: как я могу выполнить подпроцесс процесса в python?
- 12. Подпроцесс Python возвращен -11
- 13. Получить только стандартный вывод в переменной в Python, используя подпроцесс
- 14. скрипт python, используя подпроцесс, перенаправлять ВСЕ вывод в файл
- 15. Python: бег подпроцесс параллельно
- 16. Понимание «я» в Python, используя пример кода
- 17. Постоянный подпроцесс python
- 18. Python подпроцесс осветление
- 19. python, подпроцесс: запуск нового процесса, когда один (в группе) завершен
- 20. Json разбор Python подпроцесс
- 21. использовать sed с переменными в скрипте python, используя подпроцесс
- 22. Подпроцесс Python - переменные типы?
- 23. Чтение из CSV в Python неоднократно?
- 24. Подпроцесс Python - tcpdump висит
- 25. Подпроцесс подпроцесса Python
- 26. Используя модуль «подпроцесс» с тайм-аутом
- 27. Пример экземпляра класса C++
- 28. Пример экземпляра хранилища весной
- 29. Подпроцесс Python обменивается данными
- 30. Подпроцесс Python с oozie
Вы уже знаете PolicyKit? –
Вы должны сделать это, используя библиотеку paramiko. –
Спасибо за подсказки. Есть ли способ сделать это без использования каких-либо внешних библиотек? Я надеялся, что будет конфигурация Popen, которая позволит мне делать то, что мне нужно. – EagerToLearn