Estoy teniendo instalado ghc 6.12.3 y Ubuntu 11.04 en mi computadora portátil.Ejecutar comandos sudo en Haskell
Me gustaría tener una función que tome algunos comandos de shell y los ejecute como superusuario (como sudo update-manager, sudo iwlist ....) en Haskell. Sé que el módulo System.Process tiene algunas funciones como createProcess, runInteractiveCommand. Pero hay para un solo comando en bruto o un solo comando de shell, no para comandos compuestos como "sudo update-manager". Todos mis experimentos sobre esas funciones para ejecutar "sudo ..." fallaron. La terminal que utilicé para ejecutar mi función haskell no tuvo respuesta.
También miré el paquete HSH. Pero me parece que las funciones exportadas allí tampoco son buenas para los comandos sudo.
Supongo que la ejecución de comandos como "sudo update-manager" requiere dos procesos. Uno es para "sudo" y el otro es para "update-manager". Así que necesito llamar a funciones como "createProcess" dos veces y conectarlas de alguna manera para que el segundo proceso para "update-manager" obtenga privilegio de superusuario desde el primer proceso para "sudo".
Gracias de antemano por ayuda!
'updateManager' es un argumento para' sudo' .sudo' va a leer todos sus argumentos y crea una nueva línea de comandos a partir de ellos. – fuz
Muéstrenos el código que probó que no funcionó. Según tu descripción, debería haber funcionado. – dave4420
Eso probablemente no sea una buena idea. Mejor es soltar su nivel en lugar de elevarlo. – alternative