Por que o comando em /root/.bash_profile iniciar duas vezes?
-
14-12-2019 - |
Pergunta
Aqui é o meu /root/.bash_profile
:
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
Quando eu começar o meu servidor,eu corro ps aux | grep SimulatedRpu
e aqui está o resultado:
root 2758 0.2 1.0 62316 20416 ? Sl 14:35 0:00 ./SimulatedRpu-V1
root 3197 0.5 0.9 61428 19912 pts/0 Sl 14:35 0:00 ./SimulatedRpu-V1
root 3314 0.0 0.0 5112 716 pts/0 S+ 14:35 0:00 grep SimulatedRpu
Assim,o programa imprime uma mensagem de erro sobre a porta já está a ser utilizado.Mas por que o comando em /root/.bash_profile
iniciar duas vezes?Por favor me ajude,obrigado!A propósito,eu uso Redhat Enterprise 5.5
Solução
O perfil é lido toda vez que você fizer o login.Então, basta fazer log in para executar o ps aux | grep SimulatedRpu
, você executa o perfil uma vez mais e, assim, iniciar um novo processo.
Você deve colocar o comando em um script de init em vez disso.
[EDITAR] Você também deve executar Xvnc
no mesmo script - de que maneira, você pode iniciar e parar o servidor de exibição, juntamente com o seu aplicativo.
Outras dicas
Tentar gostar
if ! ps aux | grep '[S]imulateRpu'; then
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
fi;
Desta forma, ele irá verificar primeiro se o aplicativo não está funcionando ainda.A [] de todo o S são para impedir que o grep a partir de encontrar a si mesmo ;)