【树莓派】在树莓派上制作开机自启动程序及服务2
有朋友说根据《【树莓派】在树莓派上制作开机自启动程序及服务》这个文章实践时候有问题,可能之前中间有过个更新,但是忘了更新博文,在这里我把目前最新的贴一下。
先简要介绍一下,我这边有2个服务,一个sendtooss,一个scptolocal;
/etc/init.d/sendtooss:
sendtooss服务:
#!/bin/sh ### BEGIN INIT INFO # Provides: sendtooss # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Required-Start: $local_fs # Required-Stop: # chkconfig: 12345 99 05 # Short-Description: Start or stop the sendtooss App. ### END INIT INFOstart(){echo -e "\033[32m start sendtooss \033[0m"cd /home/lifeccp/webapp/sendtoosssu lifeccp -c "sh /home/lifeccp/webapp/sendtooss/startup --spring.profiles.active=test &" }stop(){echo -e "\033[32m stop sendtooss \033[0m"pkill -f sendtoossapp_pid=$(pgrep -f sendtooss)if [ "${app_pid}" = "" ]; thenecho -e "\033[32m -=stop sendtooss finished=- \033[0m"elseecho -e "\033[31m -=stop sendtooss failed=- \033[0m"kill -9 "${app_pid}"echo -e "\033[32m -=kill -9 sendtooss=- \033[0m"fi }case $1 in start)start;; stop)stop;; *)echo -e "\033[32m Usage: $0 (start|stop) \033[0m";; esac
/etc/init.d/scptolocal:
scptolocal服务:
#!/bin/sh ### BEGIN INIT INFO # Provides: scptolocal # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Required-Start: $local_fs # Required-Stop: # chkconfig: 12345 99 05 # Short-Description: Start or stop the scptolocal App. ### END INIT INFOstart(){echo -e "\033[32m start scptolocal \033[0m"cd /home/lifeccp/webapp/scptolocalsu lifeccp -c "sh /home/lifeccp/webapp/scptolocal/scptolocal -b LIFECCP:5090 --directory /home/lifeccp/dicom &" }stop(){echo -e "\033[32m stop scptolocal \033[0m"pkill -f scptolocalapp_pid=$(pgrep -f scptolocal)if [ "${app_pid}" = "" ]; thenecho -e "\033[32m -=stop scptolocal finished=- \033[0m"elseecho -e "\033[31m -=stop scptolocal failed=- \033[0m"kill -9 "${app_pid}"echo -e "\033[32m -=kill -9 scptolocal=- \033[0m"fi }case $1 in start)start;; stop)stop;; *)echo -e "\033[32m Usage: $0 (start|stop) \033[0m";; esac
--------------------
在/home/lifeccp/webapp/目录下,需要有相应的shell脚本,被调用。如下:
/home/lifeccp/webapp/sendtooss/startup 脚本内容:
lifeccp@raspberrypi:~ $ cat webapp/sendtooss/startup #!/bin/bash # ------------------------------------------------------------------------- # Osprey Launcher # args: # --spring.profiles.active = <profile> e.g.:'dev[test|prod]' # -------------------------------------------------------------------------MAIN_JAR=osprey-1.0.14.release.jarDIRNAME="$(dirname "$0")"# OS specific support (must be 'true' or 'false'). cygwin=false; case "$(uname)" inCYGWIN*)cygwin=true;; esac# For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then[ -n "$WORK_HOME" ] &&WORK_HOME=$(cygpath --unix "$WORK_HOME")[ -n "$JAVA_HOME" ] &&JAVA_HOME=$(cygpath --unix "$JAVA_HOME") fi# Setup WORK_HOME if [ "x$WORK_HOME" = "x" ]; thenWORK_HOME=$(cd "$DIRNAME"; pwd) fi# Setup the JVM JAVA="java" # if [ "x$JAVA_HOME" != "x" ]; then # JAVA=$JAVA_HOME/bin/java # else # JAVA="java" # fi# Execute the JVM cd "$WORK_HOME" && exec "$JAVA" -jar "$MAIN_JAR" "$@"
在/home/lifeccp/webapp/scptolocal/scptolocal 中有对应的 scptolocal 服务:
lifeccp@raspberrypi:~ $ cat webapp/scptolocal/scptolocal #!/bin/sh # ------------------------------------------------------------------------- # Pandion Launcher # args: # -b,--bind <[aet[@ip]:]port> e.g.:'LIFECCP:107' # --directory <path> e.g.:'./dicom' # -------------------------------------------------------------------------MAIN_CLASS=com.lifeccp.box.store.DicomReceiver MAIN_JAR=pandion-1.0.5.release.jarDIRNAME="$(dirname "$0")"# OS specific support (must be 'true' or 'false'). cygwin=false; case "$(uname)" inCYGWIN*)cygwin=true;; esac# For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then[ -n "$WORK_HOME" ] &&WORK_HOME=$(cygpath --unix "$WORK_HOME")[ -n "$JAVA_HOME" ] &&JAVA_HOME=$(cygpath --unix "$JAVA_HOME") fi# Setup WORK_HOME if [ "x$WORK_HOME" = "x" ]; thenWORK_HOME=$(cd "$DIRNAME"; pwd) fi# Setup the JVM JAVA="java" # if [ "x$JAVA_HOME" != "x" ]; then # JAVA=$JAVA_HOME/bin/java # else # JAVA="java" # fi# Setup the classpath CP="$WORK_HOME/$MAIN_JAR"# Execute the JVM exec "$JAVA" -cp "$CP" $MAIN_CLASS "$@"
主要脚本如上,目前我的环境运行正常,如果朋友们在使用过程中有问题,可以留言或通过介绍中的QQ或扫头像加微信联系我。
【树莓派】在树莓派上制作开机自启动程序及服务2相关推荐
- Ubuntu管理开机自启动程序
点击左侧的图标,在搜索栏上输入gnome-session,即可看到 "启动应用程序"的图标, 如下图: 在此管理开机自启动程序
- Wince下定制开机自启动程序
Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...
- Jetson nano开机自启动程序
目录 前言 1.介绍 2.创建开机自启动程序 2.1 创建一个bash文件 2.2 创建一个service文件 2.3 添加权限 2.4 移动service文件 2.5 启动服务 2.6 停止/重启服 ...
- 如何让电脑开机自启动程序
如果你是想让电脑开机自启动程序的话你来对了地方 首先同时按下徽标键(一个键四个小方块的那个)+r键 然后输入shell:startup 在打开的文件夹中把你需要启动的程序放进去即可 直接把图标拖进去 ...
- jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)
目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...
- Ubuntu开机自启动程序的方法
文章目录 Ubuntu开机自启动程序的方法 目标效果 方案1:修改rc.local 测试结果 方案2:单独增加一个开机启动的脚本 错误1 错误2 实测结果 refs 方案3:利用官方快捷方式启动 Ub ...
- Win10系统如何关闭开机自启动程序,看这里就够了,怎样关闭Windows10电脑自启动软件
现如今我们大家不论是生活中还是工作中运用电脑都是甚为广泛,对于电脑的操作,有人会把一些软件设置为开机自启动,如果当我们不需要自启动的时候怎样关闭自启动程序呢?不能自启动软件开一次你手动关一次吧,这样太 ...
- 开机自启动程序(登陆后)
1. Preface 其实有好几种开机自启动程序的方法,这里只写最简单且亲测可行的. 2. Method 使用系统自带的开机自启动程序工具,打开terminal,然后输入gnome-session-p ...
- Linux开机自启动程序死循环,无法进入系统
使用Linux系统开机自启动程序,任何键都无法结束程序,重启也不行. 1 杀死跑飞的程序 当你把你的Linux弄死机了,是完全的死机了,你按了Ctrl + Alt + Backspace,也没用的时候 ...
- 树莓派 摄像头mjpg-streamer视频推流+开机自启动
之前都是使用的GitHub上的一个安装和设置流程,最近要重新设置时发现那个帖被删了,查阅资料自己整理一个,免得日后又要重找. 效果图 1.Enable树莓派摄像头 sudo raspi-config ...
最新文章
- 封装方法公共文件common.js
- TfidfVectorizer(stop_words='english',ngram_range=(1,1))中ngram_range的意义
- 无聊博文之:用同余的语言阐述欧几里德算法
- #模拟触手机屏幕_2部手机经受埃隆马斯克火焰枪炙烤:iPhoneXS最终胜出
- Django开发基础----操作数据库
- JPA教程:实体映射-第2部分
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 2丨连续出现的数字【难度中等】
- 将csv文件导入python_如何将csv文件导入数据数组?
- PaddlePaddle(5)——简单高效的部署与推理方法(Ⅱ)
- 单台服务器最大支持多少连接数
- Android DataBinding 详解
- 支付宝退款流程 php,支付宝退款接口对接流程PHP语言
- 乘风破浪的技术大咖再次集结 | 腾讯云TVP持续航行中
- FIR内插滤波器的FPGA实现(一)-matlab实现
- Java Web小课程3——写servlet
- 百趣代谢组学文献分享:三组学整合分析在中医药研究中的应用
- 做好SEO需要考虑什么
- Windows 10无法调节屏幕亮度
- html艺术字在线制作,HTML网页设计中的字体设计
- 关于MOS管功率选型参数及四大要点分析
热门文章
- sqlite的Query方法操作和参数详解
- kubernetes之初始容器(init container)
- Java加载Class文件的原理机制
- android中bundle的使用
- python学习第六天运算符总结大全
- github上预览Demo网页最简单的方法
- DOS及BIOS中断调用实验
- 本人从事软件技术开发也有多年,打算先尝试往外迈一步试试!
- html5中标签与类的区别,html5中section标签与div标签的区别是什么
- zbar扫描无法近距离扫码_云值守:扫码购使用流程是怎样的?带来怎样的影响?...