2014-02-24 31 views
2

我有Linux的虛擬機的啓動過程中運行Python腳本:無法啓動時獲得os.getenv(「HOSTNAME」)的工作

我在chkconfig的增加它345

腳本應該檢查主機名,如果是localhost.localdom那麼它應該退出

#!/usr/bin/python 
import subprocess,platform,os,sys,logging,shlex 

system_name = os.getenv('HOSTNAME') 

if system_name == 'localhost.localdom': 
    logging.info('Please correct host name for proxies, it is showing localhost') 
    sys.exit()" 

如果我運行它手動它工作正常。但在啓動過程中,即使主機名是localhost.localdom。它不會退出。

所以它在啓動過程中的樣子,

os.getenv('HOSTNAME') 

沒有返回我的狀態已經設置了localshot.localdom。

請幫助在重新啓動過程中使其工作。

感謝, 吉滕德拉·辛格

+2

主機名環境變量可能不設置爲'rc'腳本。你可以使用'/ bin/hostname'或'/ usr/bin/hostname'的輸出來代替...這可以保證工作。 – isedev

回答

1

發佈使用Isedev的評論的信息的答案...

你可以嘗試通過獲取主機名:

import os 
system_name = os.popen('/bin/hostname') 

if system_name.read().rstrip() == 'localhost.localdom': 
    logging.info('Please correct host name for proxies, it is showing localhost') 
    sys.exit()