¿Por qué el comando en /root/.bash_profile comienza dos veces?
-
14-12-2019 - |
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
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;)