¿Cómo iniciar un servicio automáticamente, cuando se inicia Ubuntu?

Pregunta:

Estoy usando Ubuntu 12.04 y quiero que se inicie un servicio, cuando el sistema se inicia normalmente.

Como 'servicio' entiendo algún código, por ejemplo cd my_directory; my_command -host 0.0.0.0 -port 1234 -arg x que debería estar ejecutándose como si se hubiera iniciado en la línea de comando. Hay servicios que deben iniciarse como usuario normal, pero también servicios que deben iniciarse como root (de hecho, no es necesario que los servicios se ejecuten a nivel de usuario).

También necesito configurar el comportamiento cuando se detiene un 'servicio'. Quiero que se reinicien en mi caso, con el mismo argumento, en un directorio especificado.

Todos los servicios deben iniciarse automáticamente cuando el sistema se inicia normalmente, es decir, si se presiona el interruptor de encendido. No debería requerirse ninguna otra acción.

Hay algunos documentos difundidos en Internet, pero todos me confunden. Hablan de init , init.d , rc.d , pero nunca vi una instrucción paso a paso fácil de seguir como un servicio usando, por ejemplo, upstart. Si esto es fácil, agradecería que se dieran esos pasos aquí.

Respuesta:

Para crear un trabajo que se iniciará automáticamente cuando se inicie Ubuntu, use el ejemplo que se proporciona aquí . Como ejemplo escrito, suponga que crea el siguiente archivo /etc/init/testservice.conf con sudo:

# testservice - test service job file

description "my service description"
author "Me <myself@i.com>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
# This option does not seem to be of great importance, so it does not need to be set.
#expect fork

# Specify working directory
chdir /home/user/testcode

# Specify the process/command to start, e.g.
exec python mycommand.py arg1 arg2

Para iniciar o detener el proceso 'manualmente', utilice

sudo start testservice
sudo stop testservice

Consulte los comandos de control de trabajos .

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım