PreguntasLinux

Versión Completa: Ejecutar un programa en turbo C junto con el SO Debian (solucionado)
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Hola muy buenas tardes tengan todos !

disculpen aun sigo siendo un novato en linux, estoy trabajando con una tarjeta TS-7200 y debian sarge 3.1, y tengo una duda para las personas que saben =), lo que pasa es que necesito que una aplicacion que tengo en turbo c se ejecute al mismo tiempo del inicio del SO, he leido mucho sobre eso y segun debo hacer un linkeo hacia la aplicacion con el comando "ln -s direccion_init.d direccion_rc3.d" donde 3 es el nivel de ejecucion donde quiero que se ejecute la aplicacion, pero la aplicacion la tengo en "/home/<mi_usuario>/./key", entonces mis preguntas son:

¿como puedo hacer que la aplicacion se ejecute en el nivel 3?
¿se puede hacer un linkeo directamente a la aplicacion?, es decir, que no tenga que ser necesariamente al init.d, o si es necesario ¿como pasar mi aplicacion al init.d?

Les agradezco su tiempo y disculpen la ignorancia =)...
ufff para empezar tu programa en turbo C esta compilado con el turbo borland C de windows. Asi que no podras ejecutarlos en linux

Ahora compilalo con el gcc a ver si funciona

** recuerda que en gnu/linux no existe winforms.h ni el conio.h

Sobre lo de los runs levels esto te ayudara
http://www.debianhelp.co.uk/runlevels.htm
hola!!

muchas gracias por la atención, aun sigo con la duda, entiendo bien que debo compilar en debian, eso ya lo hice mi programa esta en debian compilado y se ha creado el ejecutable, lo que nosé es como mandarlo llamar junto con el sistema operativo, en el runlevel 5 por ejemplo, me han comentado hacerca de scripts de inicio que debo crear uno, alguien puede decirme como y que debe contener??

muchas gracias ^.^
Puede ser tan fácil como escribir un script en /etc/rc.boot llamando a tu binario. Supongamos que tu binario es el hdparam:


Código:
#!/bin/sh
echo -n "Setting the spindown time for first IDE hdd (5 min)...."
/usr/sbin/hdparm -S 60 /dev/hda
echo "done."


grábalo como /etc/rc.boot/hdparm con permisos 755.
Listo!


Hilando mas fino (mayores requerimientos de control)

Para por ejemplo arrancar programas en un runlevel determinado y paralos en otro, hay que usar /etc/init.d y generar los enlaces correspondientes en /etc/rc*.d.
Para un ejemplo de como trabajar con init.d, ver /etc/init.d/ppp y /etc/rc*.d/*ppp.

Si se requiere usar start-stop-daemon porque el demonio no genere ficheros de pid o que haya que ejecutarlo como un usuario determinado, es interesante consultar /etc/init.d/inetd.

ya no se aconseja el uso de /etc/rc.boot/ y si /etc/rcS.d que son enlaces a /etc/init.d. Es decir se pone el script en /etc/init.d y se crea un enlace a /etc/rcS.d. Esto se puede manejar con update-rc.d o crear los enlaces a mano. Con update-rc.d para hacer que el script arranque siempre usea /etc/rcS.d
update-rc.d script start 60 S .

Para borrarlo
update-rc.d -f script remove

Para que arranque en con el numero 40 en los runlevel 2 3 4 5 y pare con el numero 20 en los runlevel 0 1 6 seria



sol:~# update-rc.d script start 40 2 3 4 5 . stop 20 0 1 6 .
Adding system startup for /etc/init.d/script ...
/etc/rc0.d/K20script -> ../init.d/script
/etc/rc1.d/K20script -> ../init.d/script
/etc/rc6.d/K20script -> ../init.d/script
/etc/rc2.d/S40script -> ../init.d/script
/etc/rc3.d/S40script -> ../init.d/script
/etc/rc4.d/S40script -> ../init.d/script
/etc/rc5.d/S40script -> ../init.d/script

Y para borrarlool:~# update-rc.d -f script remove
update-rc.d: /etc/init.d/script exists during rc.d purge (continuing)
Removing any system startup links for /etc/init.d/script ...
/etc/rc0.d/K20script
/etc/rc1.d/K20script
/etc/rc2.d/S40script
/etc/rc3.d/S40script
/etc/rc4.d/S40script
/etc/rc5.d/S40script
/etc/rc6.d/K20script

Que se inicie simpre que arranque el sistema
sol:~# update-rc.d script start 40 S .
Adding system startup for /etc/init.d/script ...
/etc/rcS.d/S40script -> ../init.d/script

http://www.esdebian.org/article.php?stor...3002806547


Para leer y disfrutar:

The Linux Boot Process

An introduction to services, runlevels, and rc.d scripts

An introduction to services, runlevels, Ubuntu updaterc.d y Gentoo rcupdate

Guiones de inicio

Debian boot-up method (ver 10.5 y 10.6)

Buenas tardes

Por fin logré que se ejecutara el programa, como todo mundo dijo, me cree un fichero diablo.sh por ejemplo, en el ke le deje el comando exec /home/usuario/key lo pase al init.d y luego hice un link al nivel de ejecucion 2 ln -s /etc/init.d/diablo.sh /etc/rc2/S98diablo.sh y listo reinicie i mi aplicacion se ejecuta antes del login =).

nota: para aquellos que deseen seguir mis pasos en el fichero de shell pongan un menu donde les permita elegir si desean continuar con el login o ejecutar su programa para evitarse problemas.


Si desean mas informacion como crear y editar un fichero etonces leanse este tutorial, el capitulo 7 es para editar ficheros pero leanse todo de preferencia =) :
http://foros.maximopc.org/showthread.php?t=22667

Espero les sirva a todos saludos!!
Posdata: ya pueden poner el comentario como resuelto =)
URLs de Referencia