Uso el comando $ nohup ...
para iniciar una aplicación en segundo plano para poder cerrar la ventana del terminal después.
Tras la ejecución, crea el archivo ~/nohup.out
.
Ejemplo:
orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'
¿Cómo puedo evitar nohup
crear nohup.out
?
command-line
nohup
orschiro
fuente
fuente
byobu
. :)byobu
, comience lo que quiera, luego presioneF6
y listo. Puede volver a ejecutarlobyobu
nuevamente.Respuestas:
Puede redirigir la salida a cualquier lugar que desee, por ejemplo:
la redirección evita que
nohup.out
se cree el archivo de salida predeterminado ./dev/null
es olvido, así que si no quieres los datos, envíalos allí.En bash puedes abreviar
>/dev/null 2>&1
a&>/dev/null
Para los programas que uso con frecuencia, hago un alias (y lo agrego a mi
.bashrc
) por ejemploAhora todo lo que tengo que escribir es
show_state
fuente
show_state () { /bin/bash -c "$@" &>/dev/null }
? (Advertencia: sintaxis pobre y probablemente no funcionará. ¡Es solo un ejemplo!). Un punto crítico: ¿por quéshow_state
cuando estás tirando la salida denohup
?.py
archivo. Y sí, una función es más divertida. Tengo esta función mal escrito en un escritorio de Debian:shutup() { source "$@" >/dev/null 2>&1 & }
. Y funciona. Tal vez podrías sugerir algo similar, pero mucho mejor.&>
funcionó (y en mi opinión, parece un fondo más una redirección estándar). Siempre lo aprendí como>&
. ¿Es estándar?