Perché il comando in /root/.Bash_profile inizia due volte?
-
14-12-2019 - |
Domanda
Ecco il mio /root/.bash_profile
:
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
.
Quando avvio il mio server, eseguo ps aux | grep SimulatedRpu
ed ecco l'output:
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
.
Quindi, il messaggio di errore di stampa del programma sulla porta è già utilizzato.
Ma perché il comando in /root/.bash_profile
inizia due volte?
Per favore aiutami, grazie! A proposito, uso redhat enterprise 5.5
Soluzione
Il profilo viene letto ogni volta che accedi. Quindi, quindi accedendo per eseguire il ps aux | grep SimulatedRpu
, esegui il profilo ancora una volta e quindi avviare un nuovo processo.
Dovresti inserire il comando in un initScript invece.
[Modifica] È necessario eseguire anche Xvnc
nello stesso script - in questo modo, è possibile avviare e interrompere il server di visualizzazione insieme alla tua app.
Altri suggerimenti
Provalo come
if ! ps aux | grep '[S]imulateRpu'; then
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
fi;
.
In questo modo, prima verificherà se se l'applicazione non è ancora in esecuzione.Il [] attorno ai s per evitare il grep di trovarsi;)