2011-03-02 22 views
35

Utilizo este comando para ejecutar mi trabajo.¿Cómo puedo usar nohup para ejecutar el proceso como proceso en segundo plano en Linux?

(time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt 

Mientras, 1 es una cantidad de proceso que utilizo para ejecutar este trabajo. Tengo que cambiar el número de procesos para cada ejecución. En cada momento, usa mucho tiempo para completar. Entonces quiero ejecutarlo como proceso en segundo plano.

¿Cómo puedo hacerlo?

me trataron:

nohup ((time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt) 

Pero no funciona.

Respuesta

5
  • Uso de la pantalla: Inicio screen, iniciar la secuencia de comandos, pulse Ctrl +Un, D. Vuelva a conectar con screen -r.

  • hacer un script que toma el "1" como un parámetro, ejecute nohup yourscript:

    #!/bin/bash 
    (time bash executeScript $1 input fileOutput $> scrOutput) &> timeUse.txt 
    
48

En general, yo uso nohup CMD & para ejecutar un proceso en segundo plano nohup. Sin embargo, cuando el comando está en un formulario que nohup no aceptará, lo ejecutaré a través de bash -c "...".

Por ejemplo:

nohup bash -c "(time ./script arg1 arg2 > script.out) &> time_n_err.out" & 

la salida estándar del guión se escribe a script.out, mientras stderr y la salida de time entra en time_n_err.out.

Así, en su caso:

nohup bash -c "(time bash executeScript 1 input fileOutput > scrOutput) &> timeUse.txt" & 
19

puede escribir un guión y luego utilizar nohup ./yourscript & para ejecutar

Por ejemplo:

vi yourscript 

puso

#!/bin/bash 
script here 

También puede ser necesario cambiar el permiso para ejecutar secuencias de comandos en el servidor

chmod u+rwx yourscript 

finalmente

nohup ./yourscript & 
Cuestiones relacionadas