ver uso segundo procesos proceso plano pasar ejemplos linux sudo nohup

uso - ver procesos en linux



Conseguir sudo y nohup para trabajar juntos (8)

Abrí un editor y escribí estas líneas:

#!/bin/bash sudo echo Starting ... sudo -b MyProcess

(Donde MyProcess es algo que quiero ejecutar como superusuario).

Luego guardo el archivo donde lo quiero como MyShellScript.sh.

A continuación, cambie los permisos del archivo para permitir la ejecución. Luego ejecútalo en una terminal. la opción "-b" le dice a sudo que ejecute el proceso por separado en segundo plano, por lo que el proceso continúa ejecutándose después de que la sesión del terminal muere.

Trabajó para mí en linux-mint.

Novato de Linux aquí.

Tengo un script de Perl que toma dos entradas de línea de comando. Traté de ejecutarlo en segundo plano, pero esto es lo que obtuve:

[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv & [2] 19603 [~user]$ nohup: appending output to `nohup.out''

después de que el sistema devuelve "nohup: anexando salida a` nohup.out ''", no aparecerá ningún mensaje nuevo. Entonces, siempre que escriba algún otro comando, el shell me dirá que el proceso está detenido:

[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv & [2] 19603 [~user]$ nohup: appending output to `nohup.out'' ls ascii_loader_script.pl format_wrds_trd.txt nohup.out norm_wrds_trd.cfg [2]+ Stopped nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv

Miré esta publicación e intenté hacer una "fecha de sudo" antes de ejecutar el comando. Aún tengo lo mismo. http://www.sudo.ws/pipermail/sudo-users/2003-July/001648.html


Debes usar sudo primero, nohup segundo.

sudo nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &


El problema aquí, imho, no es noh, sino sudo de procesamiento en segundo plano.

Está poniendo el proceso en segundo plano (y al final del comando), pero probablemente sudo necesita autenticación de contraseña, y es por eso que el proceso se detiene.

Pruebe uno de estos:

1) eliminar el ampersand del final del comando, responder al prompt de passord y afterwords ponerlo en segundo plano (al escribir CTRL-Z, que detiene el proceso y ejecuta el comando bg para enviarlo al fondo)

2) Cambie el / etc / sudoers para no solicitar la contraseña de los usuarios incluyendo la línea: myusername ALL = (ALL) NOPASSWD: ALL

Si además de la respuesta con contraseña su aplicación espera otra entrada, entonces puede canalizar la entrada al comando de esta manera: $ cat responses.txt | sudo mycommand.php

hth


En primer lugar, debe cambiar sudo y nohup . Y entonces:

if sudo echo Starting ... then sudo nohup <yourProcess> & fi

El echo Starting ... puede ser reemplazado por cualquier comando que no haga mucho. Solo lo uso como comando ficticio para el sudo .

Con esto, el sudo en la condición if desencadena la verificación de contraseña. Si está bien, entonces la sesión sudo se iniciará y la segunda llamada tendrá éxito; de lo contrario, el if fallará y no ejecutará el comando real.


Esto debería funcionar

sudo -b -u userName ./myScript > logFile

Solo tengo curiosidad por comprender que puedo enviar este archivo de registro como un correo electrónico después de que ./myScript se ejecute correctamente en segundo plano.


La solución es usar el distintivo -b para sudo para ejecutar el comando en segundo plano:

$ sudo -b ./ascii_loader_script.pl 20070502 ctm_20070502.csv

Solo debe usar nohup si desea que el programa continúe incluso después de cerrar su sesión de terminal actual.


Puede configurarlo como su alias:

sudo sh -c ''nohup openvpn /etc/openvpn/client.ovpn 2>&1 > /dev/null &''


Tratar:

xterm -e "sudo -b nohup php -S localhost:80 -t /media/malcolm/Workspace/sites &>/dev/null"

Cuando cierra xterm, el servidor web PHP aún está activo.
No pongas nohup antes de sudo o el servidor web PHP será eliminado después de cerrar xterm.