c++ - 迷之source ~/.bash_profile需要多次执行
PHPz
PHPz 2017-04-17 14:49:53
0
2
611

问题是这样的

1.我写的C++程序,包含C++和Python混合编程,涉及用C++创建Python解释器并执行Python逻辑代码,回避了Python多线程,在redhat6.5的服务器上编译通过,编译环境:Python 2.7.11,g++ 4.x.x
2.login上去服务器之后,启动程序时dump,报内存泄漏;

3.于是source ~/.bash_profile十几遍,(不确定的一个数字,可能十遍,也可能二十遍,在这之间)然后再启动,正常运行了。杀掉程序,再启动,没问题,不需要再source ~/.bash_profile
4.bahsh_profile里确实写了程序运行所需要的消息引擎的库路径,如果重新编译了引擎,是可能要重新source的;
5.如果退出登录,重新登录,又返回到2所描述的情形;
6.同样的代码、程序,在centos6.5上运行没有出现这样的问题;
7.服务器无法联网,内部私密服务器,安装包都需要离线安装,很麻烦。

PHPz
PHPz

学习是最好的投资!

全部回覆(2)
左手右手慢动作

bash_profile包含了環境變量,執行之後環境變數被寫入,後續此帳號下的程式執行可見這些環境變數。
當你重新登入或重新編譯引擎,可能導致環境變數失效。

伊谢尔伦

不要把庫路徑寫在bash_profile等腳本裡,bash_profile是依賴使用者的互動式登入這個行為的,不可靠。
估計是你反覆執行導致某些環境變數不斷追加,反而誤打誤撞能夠運行了。
在/etc/ld.so.conf.d/建立一個文字檔案例如msgeng.conf,裡面內容是你的函式庫的所在目錄的絕對路徑。然後sudo ldconfig,一勞永逸。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板