Fuente: LinuTeca
Un proceso puede ejecutarse en foreground (interactivamente) o en background (compartiendo la CPU pero sin molestarnos hasta que acaba).
Para ejecutar procesos en background pondremos al final del comando el carácter &. Entonces nos indicará el identificador de este proceso [3] 821 (el 3 es el numero de JOB y el 821 es el PID). Obsérvese que si el programa lee o escribe en la stdin (entrada estándar) o en la stdout (salida estándar) resulta suspendido. En este caso se puede recurrir al direccionamiento (ver más abajo).
El sistema nos devolverá el control. Al finalizar el proceso nos lo indicará con el PID.
Los siguientes comands son los más usados en procesos:
El comando ps nos muestra la lista de todos los procesos que se están ejecutando en ese momento, con sus PID’s. También se pueden matar con el comando kill que envía un senal al proceso (-9 es la señal para matarlo); ejemplos:
PID TT STAT TIME COMMAND
…
821 co S 0:31 prog_bucle_infinito
922 co R 0:00 ps
kill -9 821
[3] killed prog_bucle_infinito >file.out
También podemos matarlo haciendo:
En este caso le hemos indicado el número de trabajo que es. Para saber el número de trabajo basta con ejecutar el comando jobs.
Los programas en background finalizan automáticamente cuando el usuario cierra la sesión. Para evitar esto, se puede forzar a que no finalice anteponiendo “nohup” a la línea de comando y posponiendo la indicación de background. Por defecto la salida se redirigirá a un archivo llamado nohup.out.
nohup proceso &
No hay comentarios:
Publicar un comentario