如何在Debian(Raspbian)上每次启动后运行.jar文件

Pas*_*ann 2 java linux jar raspberry-pi raspbian

我想在启动Raspberry Pi之后运行.jar文件.我知道如何在控制台中运行该文件:

java -jar pi/test.jar
Run Code Online (Sandbox Code Playgroud)

但是如何在可执行文件中保存此命令以及保存它的位置,文件在启动后启动?这不是重复,因为它在Raspberry Pi上与在其他Linux系统上不同.

naf*_*fas 6

你可以使用我的设置:

将其保存/etc/init.d/raspberryUtils(适当时更改)

#!/bin/bash
# MyApp
#
# description:raspberryUtils util service

case $1 in
    start)
        /bin/bash /home/developer/raspberryUtils/bootstartup/startServer.sh
    ;;
    stop)
        /home/developer/raspberryUtils/bootstartup/stopServer.sh
    ;;
    restart)
        /home/developer/raspberryUtils/bootstartup/stopServer.sh
        /home/developer/raspberryUtils/bootstartup/startServer.sh
    ;;
esac
exit 0
Run Code Online (Sandbox Code Playgroud)

startServer.sh:

#!/bin/bash

java -cp /home/developer/raspberryUtils/dist/RaspberryUtils.jar service.StartServices  &
Run Code Online (Sandbox Code Playgroud)

stopServer.sh

#!/bin/bash
# Grabs and kill a process from the pidlist that has the word myapp

pid=`ps aux | grep RaspberryUtils | awk '{print $2}'`
kill -9 $pid
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以停止,也可以在不重启pi的情况下启动

注意:

正如@Cosu所提到的那样,使用jpsstopServer.sh 更好:

#!/bin/bash
# Grabs and kill a process from the pidlist that has the word StartService

pid=`jps | grep StartService | awk '{print $1}'`
kill -9 $pid
Run Code Online (Sandbox Code Playgroud)