He visto toneladas de ejemplos en los que a &
sigue el final de una cadena de comando, pero parece que no puedo encontrar una explicación sobre lo que hace. Ni siquiera está en nohup
la man
página. ¿Es esto una cosa de concha?
Utilizando &
o no, encuentro que cualquier proceso ejecutado nohup
parece exhibir inmunidad a cualquier señal de bloqueo.
&
, así que no estaba seguro si&
había algún tipo de modificador o argumento que hiciera que senohup
comportara de manera diferente.Respuestas:
Desde la página de manual de bash :
Entonces sí, es una cosa de shell, y se puede usar con cualquier comando. Esencialmente, le devuelve el control de inmediato y permite que el comando se complete en segundo plano. Esto casi siempre se usa
nohup
porque normalmente desea salir del shell después de iniciar el comando.fuente
El uso de la y comercial (&) ejecutará el comando en un proceso secundario (secundario a la sesión bash actual). Sin embargo, cuando salga de la sesión, se eliminarán todos los procesos secundarios.
el uso de nohup + ampersand (&) hará lo mismo, excepto que cuando la sesión finalice, el padre del proceso secundario se cambiará a "1", que es el proceso "init", evitando así que el niño sea asesinado.
fuente
Sí, es una cuestión de shell: ejecuta el comando en segundo plano para que no tenga que esperar a que vuelva el comando actual antes de emitir más comandos.
fuente