Pregunta

Aquí está mi /root/.bash_profile:

export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &

Cuando inicio mi servidor, ejecuto ps aux | grep SimulatedRpu y aquí está el 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

Entonces, el mensaje de error de impresión del programa sobre el puerto ya está utilizado.Pero ¿por qué el comando en /root/.bash_profile empezar dos veces?¡Por favor ayúdenme, gracias! Por cierto, uso Redhat Enterprise 5.5

¿Fue útil?

Solución

El perfil se lee cada vez que inicias sesión.Así que simplemente iniciando sesión para ejecutar el ps aux | grep SimulatedRpu, ejecutas el perfil una vez más y así inicias un nuevo proceso.

Deberías poner el comando en un guión de inicio en cambio.

[EDITAR] También deberías correr Xvnc en el mismo script; de esa manera, puede iniciar y detener el servidor de visualización junto con su aplicación.

Otros consejos

Pruébalo como

if ! ps aux | grep '[S]imulateRpu'; then
    export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
fi;

De esta manera, primero comprobará si la aplicación aún no se está ejecutando.Los [] alrededor de la S son para evitar que grep se encuentre a sí mismo;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top