У меня на ноутбуке установлены ghc 6.12.3 и Ubuntu 11.04.
Я хотел бы иметь функцию, которая принимает некоторые команды оболочки и выполняет их как суперпользователь (например, sudo update-manager, sudoIwlist ....) в Haskell.Я знаю, что модуль System.Process имеет некоторые функции, такие как createProcess, runInteractiveCommand.Но есть для одной команды raw или одной команды оболочки, а не для составных комнад, таких как "sudo update-manager".Все мои эксперименты с этими функциями по выполнению "sudo ..." провалились.Терминал, который я использовал для запуска своей функции haskell, не отвечал.
Я также посмотрел пакет HSH.Но мне кажется, что экспортируемые там функции также не годятся для команд sudo.
Я предполагаю, что выполнение таких команд, как "sudo update-manager", требует двух процессов.Один для "sudo", а другой для "update-manager".Поэтому мне нужно дважды вызвать такие функции, как «createProcess», и каким-то образом соединить их, чтобы второй процесс для «update-manager» получил привилегию суперпользователя от первого процесса для «sudo».
Заранее спасибо за помощь!