为什么/root/.bash_profile中的命令会启动两次?

时间:2012-03-15 06:41:56

标签: linux redhat .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

2 个答案:

答案 0 :(得分:3)

每次登录时都会读取配置文件。因此,只需登录以运行ps aux | grep SimulatedRpu,即可再次运行配置文件,从而启动新流程。

您应该将命令改为init script

[编辑] 您还应该在同一个脚本中运行Xvnc - 这样,您就可以与应用一起启动和停止显示服务器。

答案 1 :(得分:0)

尝试

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

这样它首先会检查应用程序是否还没有运行。 S周围的[]是为了防止grep发现自己;)