2017-01-11 14 views
0

我正在測試如何在CentOS7上使用.service文件運行腳本。Program.service ExecStart失敗,但程序本身運行

的腳本是一個非常簡單的循環,只是爲了確保它運行:

​​

該腳本運行正常的根或測試用戶,如果我手動啓動。

的Program.service文件看起來是這樣的:

[Unit] 
Description=Program 

[Service] 
Type=forking 
RemainAfterExit=yes 
PIDFile=/u/Test/Locks/start.pid 
EnvironmentFile=/u/Test/Config/environ 
Environment="Base="sudo -u sirsi '/u/Test/Bincustom/Program " "Stop=halt force'" "Start=cycle force'"" 
ExecStart=/bin/sh $Base$Start 
ExecStop=/bin/sh $Base$Stop 

[Install] 
WantedBy=multi-user.target 
WantedBy=WebServices 
WantedBy=BCA 

錯誤永遠是:

● Program.service - Program 
    Loaded: loaded (/usr/lib/systemd/system/Program.service; enabled; vendor preset: disabled) 
    Active: failed (Result: resources) since Wed 2017-01-11 14:53:10 MST; 1s ago 
    Process: 12014 ExecStart=/bin/sh $Base$Start (code=exited, status=0/SUCCESS) 

Jan 11 14:53:09 localhost.localdomain systemd[1]: Starting Program... 
Jan 11 14:53:10 localhost.localdomain systemd[1]: PID file /u/Test/Locks/start.pid not readable (yet?) after start. 
Jan 11 14:53:10 localhost.localdomain systemd[1]: Failed to start Program. 
Jan 11 14:53:10 localhost.localdomain systemd[1]: Unit Program.service entered failed state. 
Jan 11 14:53:10 localhost.localdomain systemd[1]: Program.service failed. 

很顯然,我做錯事的。服務,但對我的我的生活我仍然想念它。

回答

0

的問題是在該行:

環境= 「基地=」 須藤-u SIRSI「/ U /測試/ Bincustom /程序「的 」Stop =停止力'「」開始=週期力量「 「」 ExecStart =/bin/sh的$基地$開始 ExecStop =/bin/sh的$基地$停止

顯然。服務文件不承認的變量。

我也有一個問題與sudo不被允許運行我的測試腳本。 我不得不將sudo添加到測試腳本中。

相關問題