Ubuntu 设置程序开机启动(以指定用户身份)
一、方法
在/etc/rc.local寫程序的啟動命令(系統執行內核過程中會啟動init進程,該進程把當前runlevel所對應的的所有service 都啟動后,才會執行rc.local里的命令),程序默認以root身份啟動;也可以通過?sudo -u user1 命令?指定以user1身份啟動。
?
二、示例:以tomcat為例
由于tomcat運行需要JAVA_HOME,而在init進程運行時還未加載用戶的profile,所以需要在命令前指定JAVA_HOME。
1、默認以當前用戶即root身份啟動
在/etc/rc.local寫如下命令
2、指定以其他用戶啟動
先在/etc/rc.local寫如下命令:
sudo -u act /home/act/apache-tomcat-8.0.36/bin/startup.sh?> /home/act/apache-tomcat-autostart-log/`date +%Y%m%d_%H%M%S`.txt?
再在tomcat/bin/下創建setenv.sh,setenv.sh里寫入?export JAVA_HOME=/usr/share/jvm/jdk1.8.0_91?
相關:http://askubuntu.com/questions/468772/tomcat-does-not-recognize-java-home
When you starting?tomcat?using?catalina.sh, it searching for file?setenv.sh?and?sourcing?it. It is searching in?CATALINA_HOME?or?CATALINA_BASE.
即啟動tomcat時會先在bin/下找setenv.sh,如果里面設置了JAVA_HOME則優先用之。
Setting?JAVA_HOME?in?setenv.sh?gives you ability to use different tomcats with different applications that need different version of?java, but running by one user. Other user environment would not be affected by you.
三、參考資料
http://www.cnblogs.com/z-sm/p/5657914.html
總結
以上是生活随笔為你收集整理的Ubuntu 设置程序开机启动(以指定用户身份)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C文件操作(全)
- 下一篇: scikit-learn一般实例之一:绘