Proceso corriente en el fondo con Nohup

por Sukrit Dhandhania en 22 de diciembre de 2008

Linux

Trabajo en los servidores alejados mucho. Utilizo SSH para conectar con mis servidores. Funciono absolutamente a menudo un proceso que necesite deje funcionamiento incluso después cierre mi conexión de SSH. Éste podría ser un shell script que analiza con mis ficheros de diario o restauración muy grande de la base de datos del mysql. Ése es cuando doy vuelta a una línea de comando de Linux “nohup llamado utilidad”. “Nohup” es corto para “ningún retraso”, que traduce “no hace caso de la caída encima de la señal”. “Cuelgue para arriba” la señal es qué sucede cuando usted registra hacia fuera. Qué lo hace el “nohup” es que permite que usted registre en su servidor, que lance un proceso y que lo registre hacia fuera. Las subsistencias de proceso que funcionan incluso después usted haya registrado hacia fuera. Cuando usted se abre una sesión otra vez usted puede tener acceso a ese proceso otra vez, con tal que su funcionamiento inmóvil.

El sintaxis básico del “nohup” es:

# nohup [comando] y

Substituya “[comando]” por el nombre de su shell script, o un comando. “Y” en el extremo hace el comando o la escritura funcionada como proceso de fondo. Aquí está un ejemplo de cómo usted utilizaría el “nohup” para tomar una reserva de una base de datos grande del mysql en su servidor alejado. Primero, me abro una sesión a mi servidor alejado usando SSH:

# ssh calvin@sevenacross.com

Entonces ejecuto mysqldump del comando “- ucalvin - largedatabase de los phobbes > largedatabase.db” en “modo del nohup el” agregando “un nohup” antes y “y” después del comando:

# mysqldump del nohup - ucalvin - largedatabase de los phobbes > largedatabase.db y
[1] 3999
nohup de #: añadiendo salida al `nohup.out'

Hay dos líneas de salida que usted consigue. “El ″ 3999 en la primera línea es la identificación del proceso del proceso que acabo de frezar, mientras que “el nohup: la adición de salida al `nohup.out'” significa que la salida puso que vendría generalmente al terminal se está remitiendo en un archivo llamado “nohup.out” en el directorio de el cual usted lanzó el comando. Usted puede comprobar si el proceso todavía está funcionando buscando con todos los procesos del funcionamiento usando la identificación del proceso:

# picosegundo - ef | grep 3999
calvin ¿3999 29848 0 18:42? 00:00: 00 /usr/bin/mysqldump
calvin 6575 31852 0 18:44 pts/2 00:00: 00 grep 3999

Cuando el proceso es funcionamiento hecho usted verá una salida en la línea de comando como esto:

[1] + hecho mysqldump del nohup - ucalvin - largedatabase de los phobbes > largedatabase.db

Usted puede comprobar el archivo “nohup.out” para comprobar para saber si hay cualquier error u otros mensajes que fueran hechos salir mientras que el proceso funcionaba. Si el archivo sigue siendo el espacio en blanco que es aceptable. It means no messages were output while the process was running.

Related Posts:
  • How to use dstat to monitor your Linux/UNIX server
  • How to get detailed information on each running process in Windows
  • How to use a screensaver as your desktop background in OS X
  • How to reset a lost MySQL root password
  • How to blurminal your OS X Terminal
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Just enter your email address below:

    You can always opt out of this email subscription at any time.


    Bookmark and Share

    { 1 comment… read it below or add one }

    1 Bobby Cox 12.22.08 at 8:44 am

    Hello - Nohup is useful, but if you use screen you can detach and reattach to a terminal at will and have commands running in the background as well.

    http://www.gnu.org/software/screen/


    Bobby

    Leave a Comment

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>