2012-03-15 3 views
1

Вот мой /root/.bash_profile:Почему команда в /root/.bash_profile запускается дважды?

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

Когда я начинаю свой сервер, я бегу ps aux | grep SimulatedRpu и вот результат:

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 

Таким образом, сообщение об ошибке программы печати о порте уже используется. Но почему команда в /root/.bash_profile начинается дважды? Пожалуйста, помогите мне, спасибо! Кстати, я использую Redhat Enterprise 5.5

+0

Попробуйте использовать его на отдельных линиях или с; между. – Corbin

+0

Спасибо за ваш ответ! Я последовал тому, что вы сказали, и я исправил эту проблему. Наилучшие пожелания для вас! – smarthand

ответ

3

Профиль читается каждый раз, когда вы входите в систему. Поэтому, войдя в систему, чтобы запустить ps aux | grep SimulatedRpu, вы запускаете профиль еще раз и, таким образом, запускаете новый процесс.

Вместо этого вы должны ввести команду в init script.

[EDIT] Вы также должны запустить Xvnc в том же скрипте - таким образом вы можете запустить и остановить сервер отображения вместе с вашим приложением.

+0

Однако сценарии инициализации запускаются до того, как вы вошли в систему, и похоже, что он пытается запустить приложение на экране рабочего стола. – DipSwitch

+0

А ... нет, он запускает приложение на Xvnc. http://stackoverflow.com/questions/9699992/how-to-start-linux-with-gui-without-monitor –

+0

ah missed that =) – DipSwitch

0

Попробуй как

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

Таким образом, он будет первым проверить, если приложение не запущено. [] Вокруг S - предотвратить попадание grep;)

+0

Спасибо за ваш быстрый ответ! Я также написал оболочку, как то, что вы пишете. Но я запустил программу Qt в VNCserver.So это доза не работает. Наконец, я использую другой способ справиться с этой проблемой. – smarthand

Смежные вопросы