一、方法

在/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写如下命令

 export JAVA_HOME=/usr/share/jvm/jdk1.8.0_91 //执行rc.local时还未加载profile因此没此句会报 没找到JAVA_HOME或JRE_HOME变量 的错误
/home/act/apache-tomcat-8.0.36/bin/startup.sh > /home/act/apache-tomcat-autostart-log/`date +%Y%m%d_%H%M%S`.txt //执行并把信息输出到指定文件

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 设置程序开机启动(以指定用户身份)相关推荐

  1. Linux设置程序开机启动-tomcat开机启动

    假设我有一个tomcat应用需要开机启动. 前提你的JAVA环境变量已经配置好没有问题,检测方法如图 然后找到tomcat的目录,我的目录是 /home/yuqing_4.0/tomcat_share ...

  2. ubuntu 设置php开机启动

    1.在/etc/init.d 目录下创建一个开机脚本 php-cgi #/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin: ...

  3. 【linux】使用systemctl start xxx启动自己的程序|开机启动|守护进程

    目录 即看即用 详细说明 systemctl 的用途 用法 例子:以管理我们的程序verdaccio为例 开机启动 设置程序开机启动.关闭.启用/禁用服务以vsftpd为例 三个部分[Unit].[S ...

  4. Linux 设置程序开机自动启动

    目录 1. 基础说明 2. 编辑启动文件 3. 给启动文件添加权限 4. 设置软连接 1. 基础说明 将程序设置为开机启动的方法不止一种,这里记录的,应该是最常用的一种. root用户执行命令:ll ...

  5. windows 设置 java 程序开机启动 + 崩溃重启

    前言 有时我们需要把写好的 java 程序部署在 Windows 系统的服务器上,如果服务器被人为重启,或者程序由于未知原因自己崩溃了,程序不能自动重启,用户体验很不好.接下来介绍一种可行的解决方案: ...

  6. 如何将一个软件程序设置为开机启动项(win10系统)

    比如我想要一开机就启动桌面整理软件 1.win+r打开cmd 2.输入shell:startup 3.将快捷方式粘贴至弹出的文件夹里 4.ctrl+shift+Esc打开任务管理器 5.找到 启动选项 ...

  7. w7运行里的计算机怎么设置,Win7系统中怎么给程序设置为开机启动项

    Win7系统中怎么给程序设置为开机启动项 腾讯视频/爱奇艺/优酷/外卖 充值4折起 我们在电脑上经常会用到的软件,是可以设置为开机启动项的,这样我们在开机之后,软件就自动运行,就很方便快捷啦.一起看看 ...

  8. Centos设置程序开机自启的方法

    [转]CentOS设置程序开机自启动的方法 转自:http://www.centos.bz/2011/09/centos-setup-process-startup-boot/ 在CentOS系统下, ...

  9. 基于windows10下使用bat脚本设置自定义开机启动项

    基于windows10下使用bat脚本设置自定义开机启动项 一.新建一个txt文件,然后写入内容,再重新命名修改文件成.bat脚本.博主举例新建一个rothschildlhl.txt空文本,然后复制下 ...

最新文章

  1. 你知道面试必问的AOP吗,跟Java初学者分享几点经验
  2. GetCurrentDirectory()函数误区
  3. eclipse如何快速查找某个类
  4. SAP Commerce Cloud Storefront 框架选型:Accelerator 还是 Spartacus?
  5. mysql8双机热备高可用配置
  6. JavaScript性能优化【下】--性能优化的具体方式
  7. 反射机制——获取Class中的构造函数
  8. html css图片展开动画,8个实用炫酷的HTML5图片动画应用
  9. 基于JAVA+SpringMVC+MYSQL的自动排课系统
  10. 安装运行jupyter notebook时报错:ModuleNotFoundError: No module named 'prompt_toolkit.formatted_text'...
  11. Qt 启动应用程序的3种方式
  12. autocad型源代码_AutoCAD文件格式详解
  13. 【软件需求工程与建模】13组组队项目选题介绍及项目计划安排
  14. cmd 新增dns_用CMD设置IP DNS的方法
  15. 微信小程序——从后台获取数据库数据并在前台显示(前端+后端+数据库)
  16. 联璧品牌发布会在重庆隆重举行 联璧CEO侬锦做重要讲话
  17. SQL一对多,子表关联查询
  18. 后端做app连续会员包月功能 -- IOS连续订阅 支付宝周期扣款
  19. 我的世界手游服务器修改密码,阿瓦隆之王怎么修改密码 | 手游网游页游攻略大全...
  20. 【Chrome 浏览器自带谷歌翻译用不了】

热门文章

  1. 全球及中国台式破壁机行业销售模式及市场需求份额调研报告2021-2027年
  2. lazada新手开店之后,怎样选择正确类目来发布产品?
  3. 中国充换电行业产销需求预测与转型升级战略分析报告2022-2028年版
  4. 全球与中国除颤监护仪市场深度调研与未来前景研究报告2022-2027年版
  5. 中国工业脚轮行业前景展望及营销战略分析报告2021-2027年
  6. 数据库配置,参考django框架,采用嵌套的字典实现
  7. QQ协议分析及其还原(一)
  8. NF5270M3服务器主板安装系统,NF5270M3 – 主板相关
  9. 扩有mysql的磁盘_为提高MySQL性能而在磁盘IO方面的设置
  10. 微信网页授权功能来获取用户信息(昵称或头像)之php实现