本篇文章讲解Linux 开机自启动程序

  Linux开机自启动在项目中应用很常见,突然停电或者故障,程序总归要关掉的,如果手动去启动程序,比较麻烦,所以开机自启动是非常重要的一环。

  在Debian或者Ubuntu中,开机之后会调用一个脚本文件:/etc/rc.local,所以在这个文件中写好要启动的程序即可。Debian linux发行版系统现在可能没有rc.local文件了,不过没有关系,直接在/etc文件下新建一个rc.local文件即可,开机就会运行该程序。

  所以只要在该文件中直接启动你的程序即可,或者也可以启动一个脚本文件(.sh),在这个脚本文件中启动要启动的程序,下面就是rc.local文件内容的实例。

 #!/bin/bash -elocation="/home/debian"     #脚本路径cd $location$location/rc.sh$location/run.shexit 0

  上面的rc.local文件中就另行启动了脚本文件(rc.sh)来运行自己的程序,以下就是rc.sh的内容,启动gateway程序。

#!/bin/sh
location=/home/debian/gateway20191211
echo $location
cd $locationfind $location/log -mtime +7 -type f |xargs rm -f
out=$(date "+%Y-%m-%d")".txt"
pwd
$location/gateway >> $location/log/$out

  细心的朋友可能还发现其实上面rc.local运行了两个脚本,但是实际运行过程中只启动了第一个,这是因为第一个程序运行还没有结束,就不会运行第二个程序,所以这样基本上就不会个程序同时启动。

  如果要同时启动两个程序,则需要这样来写脚本文件,将两个脚本文件相与

#!/bin/bash -e
location="/home/debian"         #脚本路径
cd $location
$location/run.sh & $location/GetPID.sh
exit 0

  此外如果还需要设计一个进程看门狗,监控该程序是否运行,则可以这样来写脚本:(先获取进程PID,然后再监控该PID是否存在)

#!/bin/bashwhile true
doprocess=gateway               #监控的程序运行名pid=$(ps -ef|grep $process |grep '/home/debian' | grep -v grep |awk '{print $2}')
echo $pidif [ $pid -ne 0 ]
then                 #如果程序PID在,则程序在运行echo `date`echo “pid is exitable!”
else                #否则程序没有运行,需要启动程序    启动的程序在run.sh文中。echo `date`echo "pid isnot exitable!"sudo sh run.sh >> $(date "+%Y-%m-%d")".txt"
fisleep 15sdoneexit 0

该脚本一开机就运行,监控程序PID,如果发现没有,立即启动,15s检查一次。

Linux 开机自启动多个脚本程序相关推荐

  1. linux 开机自启动运行python脚本

    供测试的python脚本testboot.py(确认你的python3路径二选一): #!/usr/bin/python3 with open('testboot.txt',"w" ...

  2. Linux开机自启动jar包详细操作,认真看完肯定可以完成

    Linux开机自启动jar包脚本 有xshll和xftp的可以直接在Windows系统下创建一个txt文件贴上以下代码 #!/bin/sh export JAVA_HOME=你Linux系统下的jav ...

  3. linux开机自启动程序设置方法

    linux如何开机运行自己的程序呢? 搞了几天终于搞定.... 1.首先在自己的工程文件里编写自启动shell文件,这是我的例子如下:文件名字(testudp.sh),可执行程序为tst_client ...

  4. Linux开机自启动脚本

    Linux开机自启动脚本 方式一:/etc/profile.d/ 把对应需要启动的脚本程序放在/etc/profile.d/下 chmod +x /etc/profile.d/start-demo.s ...

  5. linux 程序加启动项,linux 让一个程序开机自启动并把一个程序加为服务

    linux 让一个程序开机自启动并把一个程序加为服务 來源:互聯網  2016-05-27 08:31:00  評論 linux 让一个程序开机自启动并把一个程序加为服务 本文以tomcat7为例 首 ...

  6. linux springboot开机启动,SpringBoot 部署到Linux开机自启动和运行

    前文 SpringBoot是一个强大的微服务框架,通常都是打包项目成Jar包,并部署到服务器上,本文以Linux服务器部署为主 开机自启动 运行 Jar包部署到Linux服务器上面,不能使用常用的运行 ...

  7. linux开机自启动的几种方法

    Linux开机自启动的几种方式: 操作系统:linux mint 17.3 第一种方式:在/etc/rc.local文件中加入启动命令 这种方式适合linux用户手动配置自启动程序. 第二种方式:在/ ...

  8. linux 设置开机自启动服务命令,linux开机自启动服务优化设置命令

    1.设置成英文字符,避免出现乱码 [root@xuegod62 ~]# LANG=en 2.两种配置linux开机自启动服务命令: 1) [root@xuegod62 ~]# ntsysv 2) [r ...

  9. Linux开机自启动程序死循环,无法进入系统

    使用Linux系统开机自启动程序,任何键都无法结束程序,重启也不行. 1 杀死跑飞的程序 当你把你的Linux弄死机了,是完全的死机了,你按了Ctrl + Alt + Backspace,也没用的时候 ...

最新文章

  1. 重磅!2020中国高校毕业生月薪排名:清华第1,共计24高校月薪过万
  2. 同一局域网内不同网段文件共享设置
  3. 在线阅读!!机器学习数学精华:线性代数
  4. Python实训day14pm【Python网络爬虫综合大作业-参考解析】
  5. 程序语言基础:解释程序基本原理笔记
  6. 【转载】 quartus中调用modelsim仿真的方法
  7. 微信支付 商户Key 支付Key API密钥 的获取
  8. 【LightOJ - 1038】Race to 1 Again(概率dp,数学期望)
  9. oracle unpivot 索引_Oracle 行转列pivot 、列转行unpivot 的Sql语句总结
  10. 2012 国庆中秋黄金周流水帐
  11. GameSalad:让每个人都变成游戏开发者
  12. html密码浏览器不自动登录,怎样取消浏览器密码的自动登录
  13. Fugiat inventore earum unde officia nihil ratione.Аллея развитый юный сынок угроза голубчик.
  14. dvi接口少4针_DVI接口针脚数量,详细图文资料介绍
  15. 用matlab画同心圆,求同心圆的同心度
  16. 【python篇】python基础之--基本问题记录
  17. 0202了,你会用手机操控电脑吗?
  18. C语言使用字符串处理函数
  19. matlab中surf出来要有颜色,matlab中surf什么意思
  20. 计算某日新增用户,及其次日、3日、3日内的留存率

热门文章

  1. windows系统使用Docker搭建MySQL服务
  2. 同战网不同服务器发邮件,坑爹的新邮件系统:暴雪悄悄设定发邮件数量上限 - 178魔兽世界专区...
  3. Linux——rmp,yum安装包
  4. 历史最全自然语言处理各领域常见 数据增强 方法整理分享
  5. CountDownLatch导致的线程阻塞问题及线程池的使用
  6. 如何用ChatGPT写小说?
  7. 图书信息管理系统C++
  8. VS2010 安装 Boost 库 1.54
  9. 战争升级谷歌限制华为使用android,谷歌“神助攻”!Android12将不支持华为手机,鸿蒙迎来新挑战...
  10. leetcode 707 设计链表