Veja man nohup
:
NAME
nohup - run a command immune to hangups, with output to a non-tty
Resposta:
nohup program-name &
Estou tentando iniciar um programa do Terminal de maneira que ocorra o seguinte:
Veja man nohup
:
NAME
nohup - run a command immune to hangups, with output to a non-tty
Resposta:
nohup program-name &
Acho que essa seria a maneira mais completa:
program-name </dev/null &>/dev/null &
disown %%
Desprezar o processo em segundo plano significa que o shell não irá mais rastreá-lo. Não vai te dizer quando estiver pronto. Isso não impedirá que você feche sua concha. %%
significa "o emprego mais recente em segundo plano".
Se você quiser esconder todos os detalhes, coloque uma função como esta em seu .bashrc
launch_and_forget () { "$@" </dev/null &>/dev/null & disown %%; }
Então
launch_and_forget program args "args args" ...
Dê um nome que seja significativo para você.
Você pode simplesmente usar setsid
: -
NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [arg...]
DESCRIPTION
setsid runs a program in a new session.
Tente o seguinte comando: -
setsid <command>
Exemplo: - setsid gedit
, setsid nautilus ~/Downloads/
etc.
Use tmux
.
Primeiro, execute tmux
e, em seguida, execute o comando desejado. Você pode fechar a janela tmux
ou retroceder pelo atalho CTRL-B D
. Na verdade, você pode até mesmo anexar novamente por tmux attach
.
Eu recomendaria o tmux , como Siyuan Ren sugerido, ou GNU Screen . Dessa forma, você obtém um novo terminal para o seu comando. Você pode separá-lo e esquecê-lo, mas pode voltar se mudar de ideia.
Eu peguei e continuei a usar ...
(nohup program-name 2>/dev/null &)