有朋友说根据《【树莓派】在树莓派上制作开机自启动程序及服务》这个文章实践时候有问题,可能之前中间有过个更新,但是忘了更新博文,在这里我把目前最新的贴一下。

先简要介绍一下,我这边有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相关推荐

  1. Ubuntu管理开机自启动程序

    点击左侧的图标,在搜索栏上输入gnome-session,即可看到 "启动应用程序"的图标, 如下图: 在此管理开机自启动程序

  2. Wince下定制开机自启动程序

    Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...

  3. Jetson nano开机自启动程序

    目录 前言 1.介绍 2.创建开机自启动程序 2.1 创建一个bash文件 2.2 创建一个service文件 2.3 添加权限 2.4 移动service文件 2.5 启动服务 2.6 停止/重启服 ...

  4. 如何让电脑开机自启动程序

    如果你是想让电脑开机自启动程序的话你来对了地方 首先同时按下徽标键(一个键四个小方块的那个)+r键 然后输入shell:startup 在打开的文件夹中把你需要启动的程序放进去即可 直接把图标拖进去 ...

  5. jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)

    目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...

  6. Ubuntu开机自启动程序的方法

    文章目录 Ubuntu开机自启动程序的方法 目标效果 方案1:修改rc.local 测试结果 方案2:单独增加一个开机启动的脚本 错误1 错误2 实测结果 refs 方案3:利用官方快捷方式启动 Ub ...

  7. Win10系统如何关闭开机自启动程序,看这里就够了,怎样关闭Windows10电脑自启动软件

    现如今我们大家不论是生活中还是工作中运用电脑都是甚为广泛,对于电脑的操作,有人会把一些软件设置为开机自启动,如果当我们不需要自启动的时候怎样关闭自启动程序呢?不能自启动软件开一次你手动关一次吧,这样太 ...

  8. 开机自启动程序(登陆后)

    1. Preface 其实有好几种开机自启动程序的方法,这里只写最简单且亲测可行的. 2. Method 使用系统自带的开机自启动程序工具,打开terminal,然后输入gnome-session-p ...

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

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

  10. 树莓派 摄像头mjpg-streamer视频推流+开机自启动

    之前都是使用的GitHub上的一个安装和设置流程,最近要重新设置时发现那个帖被删了,查阅资料自己整理一个,免得日后又要重找. 效果图 1.Enable树莓派摄像头 sudo raspi-config ...

最新文章

  1. 封装方法公共文件common.js
  2. TfidfVectorizer(stop_words='english',ngram_range=(1,1))中ngram_range的意义
  3. 无聊博文之:用同余的语言阐述欧几里德算法
  4. #模拟触手机屏幕_2部手机经受埃隆马斯克火焰枪炙烤:iPhoneXS最终胜出
  5. Django开发基础----操作数据库
  6. JPA教程:实体映射-第2部分
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 2丨连续出现的数字【难度中等】
  8. 将csv文件导入python_如何将csv文件导入数据数组?
  9. PaddlePaddle(5)——简单高效的部署与推理方法(Ⅱ)
  10. 单台服务器最大支持多少连接数
  11. Android DataBinding 详解
  12. 支付宝退款流程 php,支付宝退款接口对接流程PHP语言
  13. 乘风破浪的技术大咖再次集结 | 腾讯云TVP持续航行中
  14. FIR内插滤波器的FPGA实现(一)-matlab实现
  15. Java Web小课程3——写servlet
  16. 百趣代谢组学文献分享:三组学整合分析在中医药研究中的应用
  17. 做好SEO需要考虑什么
  18. Windows 10无法调节屏幕亮度
  19. html艺术字在线制作,HTML网页设计中的字体设计
  20. 关于MOS管功率选型参数及四大要点分析

热门文章

  1. sqlite的Query方法操作和参数详解
  2. kubernetes之初始容器(init container)
  3. Java加载Class文件的原理机制
  4. android中bundle的使用
  5. python学习第六天运算符总结大全
  6. github上预览Demo网页最简单的方法
  7. DOS及BIOS中断调用实验
  8. 本人从事软件技术开发也有多年,打算先尝试往外迈一步试试!
  9. html5中标签与类的区别,html5中section标签与div标签的区别是什么
  10. zbar扫描无法近距离扫码_云值守:扫码购使用流程是怎样的?带来怎样的影响?...