Pourquoi la commande dans /root/.bash_profile démarrer deux fois?
-
14-12-2019 - |
Question
Voici mon /root/.bash_profile
:
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
Lorsque je démarre mon serveur,je lance ps aux | grep SimulatedRpu
et voici le résultat:
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
Ainsi,le programme d'impression de message d'erreur concernant le port est déjà utilisé.Mais pourquoi la commande /root/.bash_profile
démarrer deux fois?S'il vous plaît aider moi,merci!En passant,j'utilise Redhat Enterprise 5.5
La solution
Le profil est lu à chaque fois que vous vous connectez.Donc, simplement en vous connectant à exécuter le ps aux | grep SimulatedRpu
, vous exécutez le profil une fois de plus et ainsi démarrer un nouveau processus.
Vous devriez mettre la commande dans un script d'initialisation au lieu de cela.
[MODIFIER] Vous devez également exécuter Xvnc
dans le même script - de cette façon, vous pouvez démarrer et arrêter le serveur d'affichage avec votre application.
Autres conseils
Essayer comme
if ! ps aux | grep '[S]imulateRpu'; then
export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
fi;
De cette façon, il va d'abord vérifier si l'application n'est pas encore exécuté.L' [] autour de la S sont à éviter grep de trouver lui-même ;)