有一个脚本想在ubuntu 虚拟机开机时,自动运行。

创建脚本文件

在“/opt/lampp/”下新建一个脚本文件:lampp_start.sh

#!/bin/bash
/opt/lampp/lampp start

编辑启动文件

在/etc/init.d/rc.local文件的do_start()函数第一行内添加自启动脚本目录,格式为      路径 &> /dev/null &

注:

  1、确保是root用户

  2、确保脚本文件的访问权限即是否为可执行文件

这样开机你的脚本就可以自动启动了, 并且可以自动进行重启(手动Kill掉程序主进程,而不是主进程报错后退出)

涉及的知识点

1.关于 &> /dev/null

首先说一下:在Linux/Unix中,一般在屏幕上面看到的信息是从stdout (standard output) 或者 stderr (standard error output) 来的。许多人会问,output 就是 output,送到屏幕上不就得了,为什么还要分成stdout 和 stderr 呢?那是因为通常在 server 的工作环境下,几乎所有的程序都是 run 在 background 的,所以呢,为了方便 debug,一般在设计程序时,就把 stdout 存到一个文档,把错误的信息 stderr 存到不同的而文件。
·哪些是正常的output呢,例如程序开始运行的时间,现在正在上线人数等等。
·哪些是错误的output呢,例如无法找到使用者想要去的URL,或者信用卡认证失败等等。
有了上面这些认知后,回头来讲什么是 > /dev/null
  > /dev/null。是把 stdout 送到 /dev/null 里面,/dev/null 是 Unix/Linux 里的【无底洞】任何的 output 送去了【无底洞】就再也没了。相信我,真的没了!
一般呢,要是你不想看到 output 或者output 太多太大了,有可能把硬盘给挤爆了的时候,程序的设计就会考虑把 output 送到 /dev/null 了。当然,我相信你更期待把一些程序的输出重定向到指定的文件里用来当做日志文件。重定向的时候 >符号用来把输出重定向到指定文件中,覆盖原有内容(原有内容消失了);>>符号会把符号左侧的输出插入到右侧内容的末尾是不是很贴心?

2.为什么要选择rc.local文件?

这是使用者自定义开机启动程序,把需要开机自动运行的程序写在这个脚本里,在linux启动的最后阶段,系统会执行存于rc.local中的命令。和windows里面的“启动”菜单有点像,但是设置麻烦些,功能更强大

linux -- ubuntu 脚本开机自启动的更多相关文章

  1. Ubuntu编写开机自启动脚本(转载)

    From:http://blog.csdn.net/marujunyy/article/details/8466255 1.首先编写一个简单的shell脚本test.sh #! /bin/bash e ...

  2. Linux设置程序开机自启动,系统命令chkconfig及linux /etc/rc.d/目录的详解

     整理了linux下程序开启几种方式,转载相关博客做统一记录 <linux程序设置开机自启动>转载自:https://www.cnblogs.com/flcz/p/7691532.html ...

  3. Linux下设置开机自启动Tomcat

    方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为: export JAVA_HOME=/usr/java/j2sdk1..2_08 export CLA ...

  4. Linux定时任务与开机自启动脚本(cron与crontab)

    开机自启动脚本 网上常见的脚本开机自启方法是: 假设要自启的脚本位于 /home/user/test.sh 给脚本可执行的权限 sudo chmod +x /home/user/test.sh 将脚本 ...

  5. Oracle在linux下的开机自启动(详细)转

    linux下系统开机oracle自启动(方法一) ---加载为服务自启动.停止一.dbstart   及   dbshut 1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Ora ...

  6. postgresql数据库linux下设置开机自启动

    设置PostgreSQL开机自启动PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下cd /opt/soft_bak/postgre ...

  7. linux应用之开机自启动方法总结

    1.把启动程序的命令添加到/etc/rc.d/rc.local文件中 CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local,所以只需编辑这个文件,在里面加入相应的启动命令即 ...

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

    注意: 作者测试时,Linux版本为RedHat6,同时应用在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使用可行),系统版本的不同,可能造成操作上的差异(CentOS7就与Cen ...

  9. NO19 优化Linux系统--重要开机自启动服务--关闭自启动项

    **如何优化Linux系统: 1   不用root,添加普通用户,通过sudo授权管理.2   更改默认的远程连接SSH服务端口及禁止root用户远程连接.3   定时自动更新服务器时间.4   配置 ...

随机推荐

  1. 从github上下载项目到eclipse

    第一步:把代码下载到本地的仓库中 到github后选择自己想下载的项目,拷贝它的URL,图示如下: 进入eclipse中  点击后如下:  继续 按照图片指示继续(大白菜next教程)     fin ...

  2. Mysql5.6.22源代码安装

    二:安装MySQL 安装编译代码需要的包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel 下载MySQL 5.6.14 wget ...

  3. DPDK

    Intel DPDK 全面解读   高性能网络技术 随着云计算产业的异军突起,网络技术的不断创新,越来越多的网络设备基础架构逐步向基于通用处理器平台的架构方向融合,从传统的物理网络到虚拟网络,从扁平化 ...

  4. go--Ubuntu下安装GO LANG,测试输入hello world

    1.下载go语言源码,https://storage.googleapis.com/golang/go1.6.1.linux-amd64.tar.gz 2.解压缩源码包tar zxvf go1.6.1 ...

  5. C++面向对象程序设计的一些知识点(3)

    摘要:多态性提供一组统一的调用接口函数,依据这些条用接口函数具体对象的不同,同一名字的函数会有不同的行为. 1.重载与隐藏 (1).对同一作用域中的同名函数,如果它们的函数特征标不同,那么它们就形成一 ...

  6. Oracle update 日期

    UPDATE Sf_Msg_Monthly SET smm_Closed_Time = to_date('2011-12-30 11:54:30','yyyy-MM-dd HH24:MI:SS') ;

  7. javascript publish/subscribe or observer pattern

     定义 定义一对多的对象封装,目标对象状态发生变化,它所有的接受者都会收到通知并做相应的更新. 使用频率:5/5 最高 概要 观察者模式,也就是发布者/订阅者模式,当发布者发布一个通知的时候,订阅者就 ...

  8. Maven学习之(三)Maven插件创建web项目

    这里来记录一下用eclipse 创建maven 的web项目. 添加jar依赖. <project xmlns="http://maven.apache.org/POM/4.0.0&q ...

  9. kafka的分区模式?

    当别人问这个问题的时候,别人肯定是想你是否看过源码.是否针对不同场景改过kafka的分区模式 这是别人最想知道的是,你的message如何负载均衡的发送给topic的partition 我们用kafk ...

  10. C语言 · 实现strcmp函数 · 字符串比较

    蓝桥杯练习场上碰到两个此类题了: 算法提高 11-1实现strcmp函数   时间限制:1.0s   内存限制:256.0MB      问题描述 自己实现一个比较字符串大小的函数,也即实现strcm ...