2012-03-30 66 views
0

我創建了一個deb。與我的應用程序打包,我應該在安裝結束後啓動lighttpd(postinst腳本)。問題是如何啓動lighttpd並且不鎖定終端。它應該以某種方式在後臺啓動...在.deb安裝期間啓動tomcat

謝謝。

+0

最後,我發現了一些奇怪的事情...... 如果我在'postinst'腳本的末尾啓動'invoke-rc.d xxxx start',lighttpd將在前臺啓動。但是,如果我啓動'invoke-rc.d xxxx start',手動lighttpd將在後臺啓動。爲什麼會發生? – Lazy 2012-03-31 22:01:59

+0

我找到了解決方案[http://www.fifi.org/doc/debconf-doc/tutorial.html#AEN198]。我在'invoke-rc.d xxxx start'和postinst腳本正常工作後添加了'db_stop'。 – Lazy 2012-04-01 19:45:50

回答

0

要澄清其他來此的人,您正在使用Debconf confmodule在postinst(http://stackoverflow.com/q/10139395/193468)中向用戶提問。 confmodule(debconf交互式機器的基於shell的接口)會產生可怕的魔力,以便通過管道進出單獨的debconf進程來重新執行它所在的腳本。這很麻煩,特別是當你需要在同一個腳本中做其他事情時,這些腳本需要文件描述符和擁有的TTY以某種方式排列(如調用initscripts時)。這就是爲什麼不推薦在postinst中使用db_input的原因。但你似乎已經開始工作了,所以,這很好。我只想指出,加入db_stop並不總能解決有類似問題的人的問題。