Re: ejecutar procesos en servidor Linux desde la web
Martin Ibarra <[email protected]>
| Newsgroups | gmane.comp.gnome.mono.hispano |
|---|---|
| Message-ID | <[email protected]> |
Haber prueba string MKDRI = "mkdir -p /path/to/directory/_aqui_"; Process p = Process.Start(MKDRI); p.Close(); pruebalo sin esto: System.Diagnostics.ProcessStartInfo startInfo = new > System.Diagnostics.ProcessStartInfo(); > > startInfo.Arguments = str_parametros; > startInfo.FileName = str_comando; > startInfo.WorkingDirectory = str_directorio; > > startInfo.UseShellExecute = false; > startInfo.ErrorDialog = false; > startInfo.CreateNoWindow = true; > startInfo.RedirectStandardOutput = true; Saludos. yo asi tengo un proceso corriendo bueno en determinado momento cuando me conecto a otro servidor y le envio comandos via ssh . 2009/6/16 frank <[email protected]> > Si el usuario es el correcto y si tiene los permisos y privilegios > necesarios para ejecutar comandos en el servidor esa parte está correcta. > El > asunto radica en que en las pruebas que hice ayer pues ni si kiera un "ls > -l" o un "mkdir nombre" pude hacer pues como comento no me da error en > ningun lado incluso si quito las sentencias try/catch en todos el código no > me arroja errores pero tampoco me hace nada ni me devuelve nada. > > El asunto de debug que comentan pues ... Soy poco entendido en programación > (no comprendo eso de si puedo hacer un debug en el Mono) más me gusta > trabajar directamente con los servidores pero esto es un proyecto personal > y > por eso mi interes en entender, aprender y hacerlo funcionar. > > > Saludos lista, > Hola > > Hace tiempo hice esta misma pregunta y aquí me ayudaron con la > > solución > y > > me > > funcionó lo que en ese tiempo probé, sin embargo ahora que debo > > retomar > y > > culminar el mismo proyecto estoy teniendo ciertos inconvenientes con > > esta situación. > > > > Esta es la función que debería hace la magia de ejecutar un comando en > un > > servidor Linux. > > private string ejecutaComando(Page pagina, string str_comando, string > > str_parametros) > > { > > string str_ejecutaComando; > > string str_directorio = "/home/usuario/"; > > try > > { > > System.Diagnostics.ProcessStartInfo startInfo = new > > System.Diagnostics.ProcessStartInfo(); > > > > startInfo.Arguments = str_parametros; > > startInfo.FileName = str_comando; > > startInfo.WorkingDirectory = str_directorio; > > > > startInfo.UseShellExecute = false; > > startInfo.ErrorDialog = false; > > startInfo.CreateNoWindow = true; > > startInfo.RedirectStandardOutput = true; > > > > try > > { > > System.Diagnostics.Process proc = > > System.Diagnostics.Process.Start(startInfo); > > System.IO.StreamReader sr = proc.StandardOutput; > > proc.WaitForExit(); > > > > str_ejecutaComando = sr.ReadToEnd(); > > > > sr.Close(); > > } > > catch { this.showInfo.ShowMessageBox(pagina, "No se ejecutó > > sentencia en servidor"); } > > } > > catch { this.showInfo.ShowMessageBox(pagina, "No se pudo ejecutar > > comando en servidor"); } > > > > return str_ejecutaComando; > > } > > > > Y la llamada es con: > > string str_comandoSH = "mkdir"; > > string str_argumentos = " nombre_directorio_a_crear"; str_ejecucion = > > this.ejecutaComando(this.Page, str_comandoSH, str_argumentos); > > > > El asunto es que no me devuelve nada pero tampoco da error en la > ejecución > > del asp.net ni ejecuta la sentencia en el servidor. Alguno tiene una > > idea > > El usuario tiene permisos para crear directorios ?? > > si estas usando mod-mono debiese ser el usuario www-data (en el caso de > debian), si estas corriendo xsp debiese se el usuario que lo levanta xsp. > > de > > dónde puedo estar fallando ?? Ahh se me olvidaba, con esto tampoco > > puedo saber si la sentencia tuvo error al ejecutar o no, pues la idea > > es que si el servidor linux da error al ejecutar el comando pues ese > > error debe ser devuelto a la aplicación pero no logro conseguir esto. > > > > Disculpen por lo extenso del texto y de antemando gracias por su ayuda !! > > > > ----------------------------------------------- > > > > > > > > _______________________________________________ > > Mono-hispano mailing list > > [email protected] > > https://listas.hispalinux.es/mailman/listinfo/mono-hispano > > -- > www.joil.cl > _______________________________________________ > Mono-hispano mailing list > [email protected] > https://listas.hispalinux.es/mailman/listinfo/mono-hispano > > _______________________________________________ > Mono-hispano mailing list > [email protected] > https://listas.hispalinux.es/mailman/listinfo/mono-hispano > _______________________________________________ Mono-hispano mailing list [email protected] https://listas.hispalinux.es/mailman/listinfo/mono-hispano