Запускать команды sudo в Haskell

На моем ноутбуке установлены ghc 6.12.3 и Ubuntu 11.04.

] Я хотел бы иметь функцию, которая принимает некоторые команды оболочки и выполняет их как суперпользователь (например, sudo update-manager, sudo iwlist ....) в Haskell. Я знаю, что модуль System.Process имеет некоторые функции, такие как createProcess, runInteractiveCommand. Но они предназначены для одной необработанной команды или одной команды оболочки, а не для составных команд, таких как "sudo update-manager". Все мои эксперименты с этими функциями для выполнения "sudo ..." не удались. Терминал, который я использовал для запуска моя функция haskell не получила ответа.

Я также посмотрел на пакет HSH. Но мне кажется, что экспортированные туда функции также не подходят для команд sudo.

Я предполагаю, что выполнение таких команд, как "sudo update-manager" требуется два процесса. Один для "sudo", а другой для "update-manager". Итак, я необходимо дважды вызвать такие функции, как createProcess, и каким-то образом связать их, чтобы второй процесс для update-manager получил привилегию суперпользователя от первого процесса для sudo.

Заранее благодарим за помощь!

8
задан chenxicali 20 July 2011 в 15:34
поделиться