关键词:
因为需求需要,树莓派开机需要自动运行一些代码和脚本,并且需要对网络是否正常进行监测,所以需要做带网络监测的自启动服务。
参考了一下文档:
Linux中设置服务自启动的三种方式,linux服务的开机启动和运行级别,linux系统的7种运行级别,ubuntu下设置开机启动服务,
Ubuntu15.x /CentOS 7.x 以后 设置开机启动,添加自定义系统服务,自定义开机启动,
Ubuntu14.04设置开机启动脚本,如何添加自定义脚本到开机自启动,linux添加开机自启动脚本示例详解,linux添加开机自启动脚本示例详解 ,几种设置树莓派开机自启的方法
nohup-真正的Shell后台运行,让linux服务器上的程序在后台运行
经过上面的文档:
进入配置开机启动文件:
cd /etc sudo vim rc.local
rc.local
1 #!/bin/sh -e 2 # 3 # rc.local 4 # 5 # This script is executed at the end of each multiuser runlevel. 6 # Make sure that the script will "exit 0" on success or any other 7 # value on error. 8 # 9 # In order to enable or disable this script just change the execution 10 # bits. 11 # 12 # By default this script does nothing. 13 14 # Print the IP address 15 _IP=$(hostname -I) || true 16 if [ "$_IP" ]; then 17 printf "My IP address is %s\n" "$_IP" 18 fi 19 20 nohup /etc/init.d/network_test.sh & #后台启动自定义脚本 21 22 exit 0
建立自定义的网络测试脚本:
vim network_test.sh
把一下文件cp到文件中:
1 #!/bin/bash 2 # 3 #检测网络链接&&ftp上传数据 4 5 6 declare -i n=0 #在定义变量n前面加上declare -i 表示该变量为数值 7 while [ $n -ne 1 ] #判断 8 do 9 ret_code=`curl -I -s --connect-timeout 5 baidu.com -w %{http_code} | tail -n1` #网络值 10 if [ "$ret_code" = "200" ]; then 11 nohup /home/pi/bind & #网络连接成功启动脚本程序脚本 12 n=1; 13 else 14 n=0; #失败等待 15 fi 16 done
把文件cp到rc.local脚本自定的目录:
sudo mv network_test.sh /etc/init.d
我们在/home/pi目录中建立自己的启动脚本 bind 来启动自定义的脚本。
=============================== 脚本实现方法=================================
service.sh
1 #!/bin/bash 2 3 sudo rm -r pi/ 4 sudo apt-get install git 5 git clone https://gitee.com/jikexianfeng/pi.git 6 cd ~/pi/service 7 sudo mv ./rc.local /etc/rc.local 8 sudo mv ./network_test.sh /etc/init.d/network_test.sh 9 mv bind ~ 10 cd 11 sudo rm -r pi/ 12 rm service.sh 13 sudo reboot
liunx编写服务启动脚本并设置开机自启(代码片段)
业务需求需要用到的环境有Redis+Rabbitmq+Tomcat+Jar服务#!/bin/sh#chkconfig:234568090#description:服务自启green()echo-e"\\033[32m\\033[01m$1\\033[0m"blue()echo-e"\\033[34m\\033[01m$1\\033[0m"re 查看详情
树莓派设置开机启动脚本
参考技术A由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。init进程读取/etc/inittab文件中的信息,并进入预设的运行级别。Debian中的运行级别查看系统当前运行级别使用runlevel命令,... 查看详情
关于树莓派自启动脚本的编写(代码片段)
1自启动的原理是将想要重启时运行的文件放置在主目录下,在程序开机时就开始运行程序。(python/home/pi/<文件>)1.1开机自启需要一个开机自启配置文件:示例:#!/bin/bash#/etc/init.d/<servicename>###BEGININITINFO#Provides:servoblaster#Req... 查看详情
树莓派开机启动运行脚本(代码片段)
在/home/pi/.config下找到名为autostart的文件夹,如果没有就新创建一个。在该文件夹下创建一个xxx.desktop文件,文件名自拟,后缀必须是desktop,文件内容如下:[DesktopEntry]Name=testComment=PythonProgramExec=python/home/pi/test.pyIcon=/home/pi/python_gam... 查看详情
liunx编写服务启动脚本并设置开机自启(代码片段)
业务需求需要用到的环境有Redis+Rabbitmq+Tomcat+Jar服务#!/bin/sh#chkconfig:234568090#description:服务自启green()echo-e"\\033[32m\\033[01m$1\\033[0m"blue()echo-e"\\033[34m\\033[01m$1\\033[0m"red()echo-e"\\033[31m\\033[01m$1\\033[0m"#Redis路径【... 查看详情
树莓派进阶之路(018)-树莓派通过filezilla,samba与pc文件共享(转)
...bsp;虽然我们可以很方便的通过ssh譬如putty或者vnc连接操控树莓派,但是毕竟树莓派资源没那么高,在上面编程,调试要吃力的多。所以还是想在pc上编程上传到树莓派或者最好,文件共享,可以直接读写共同的文件那就perfect!一... 查看详情
树莓派开机启动
在/home/pi/.config下创建一个文件夹,名称为autostart,并在该文件夹下创建一个xxx.desktop文件(文件名以.desktop结尾,前面可以自定义),文件内容如下:[DesktopEntry]Name=exampleComment=MyPythonProgramExec=python/home/pi/example.pyIcon=/home/pi/example.pn... 查看详情
树莓派:最好的安排
利用cron来开机启动 利用/etc/init.d开机启动在树莓派下的/etc/init.d文件夹下有很多脚本,比如我们已经了解了的cron。这个cron脚本把cron这个守护进程包装成了一个服务,定义了它在启动、重启和终止时的具体行为。这样,... 查看详情
树莓派进阶之路(036)-树莓派的音频部分
树莓派MP3输出口功能正常检查1.安装播放器sudoapt-getinstallmoc然后在终端输入:mocp,插入耳机,选择音乐如果有声音的说明输出正常。如果不正常的话,解决方法有两种: 方法一:在终端输入alsamixer,按上下键就可以调节... 查看详情
树莓派进阶之路(023)-windows下用串行连接控制树莓派(转)
...备,甚至连电源和microUSB数据线都没有的情况下。如何对树莓派进行操作,甚至安装配置树莓派呢?如果你有一根USB转TTL串行的数据线,和一台电脑,那这一切都不是问题。 查看详情
树莓派在树莓派上制作开机自启动程序及服务2
有朋友说根据这个文章实践时候有问题,可能之前中间有过个更新,但是忘了更新博文,在这里我把目前最新的贴一下。/etc/init.d/sendtooss:sendtooss服务:#!/bin/sh###BEGININITINFO#Provides:sendtooss#Default-Start:2345#Default-Stop:016#Required-Start:$lo... 查看详情
树莓派进阶之路(024)-windows远程桌面连接树莓派通过xrdp服务(转)
.../edgexie/p/6527992.html在网上看到很多关于windows远程桌面连接树莓派的教程。我也按照教程试过了,遇到了几个坑。特意记录在这。 先说正确的步骤。 1. 必须先安装tightvncserver!!!sudoapt-getinstalltightvncserver 2.再安装x... 查看详情
树莓派进阶之路(030)-picustom.h(原创)
写代码的时候敢接每次查wiringPi库函数挺麻烦的,自己wiringPi库封装了一下:1#ifndef__PICUSTOM_H__2#define__PICUSTOM_H__3/**********************************头文件部分************************************/4#include<stdlib.h>5#include 查看详情
自定义开机启动脚本(代码片段)
如果你有一些自定义的脚本或服务需要开机启动,那么就可以写入到/etc/rc.local文件中,然后chmod+x/etc/rc.local赋予运行权限。/etc/rc.local文件的内容:但是这个文件在Centos7中已经不推荐被使用了,它的存在只是为了兼容Centos5和Centos... 查看详情
树莓派进阶之路(017)-基于树莓派的专用摄像头实时监控
环境:硬件:树莓派三代B型,5MPCameraBoardModule软件:Raspbian安装树莓派摄像头模块1、找到CSI接口(CSI接口在以太网接口旁边),掀起深色胶带。2、拉起CSI接口挡板。3、拿起你的摄像头模块,将贴在镜头上的塑料保护膜撕掉。确保黄... 查看详情
树莓派进阶之路(038)-p2p文件下载机(代码片段)
硬件要求: 树莓派开发板 USB外接硬盘一. Together1. 更新安装程序sudosudoapt-apt-getupdategetupdatsudoapt-getupgradesudoapt-getinstallpython-software-properties//树莓派不用添加reposudoadd-apt-repositoryppa:deluge-team/ppa//树莓派不用添加 查看详情
centos开机启动自定义脚本
有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动。方法如下:cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名编写自己的脚本后保存退出。 在编写脚本的时候,请先加入以***释#add ... 查看详情
如何将自己自定义的脚本文件设置为开机自启动
如何将自己自定义的脚本文件设置为开机自启动举个例子,一般来说,电脑端只能运行一个微信,如果我们需要同时登陆多个微信账号,我们需要自己写一段小脚本用来执行微信双开或者多开,如果我们想让... 查看详情