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

È stato utile?

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;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top