背景:
项目设备端需要运行jar包程序与服务端进行socket连接并发送数据,每次启动进程时,都需要在Linux终端输入启动jar包的命令,比较繁琐,随之尝试将启动jar包的命令写入shell脚本文件中,实现操作shell脚本启动jar包程序的功能。
编写的socdev.sh脚本文件中命令如下:
1 #启动命令所在目录 2 HOME='/home/pi/Desktop/java' 3 4 #获取mac地址(唯一的) 5 mac=`ifconfig | grep eth0 | awk '{print $5}'` 6 7 start(){ 8 #进入命令所在目录 9 cd $HOME10 nohup sudo java -jar ufoCatcher-catcher-1.0-SNAPSHOT.jar $mac wss://ip:port/catcher PULL_DOWN &11 }12 13 stop(){14 #kill 掉所有java程序15 ps -ef | grep java | grep -v grep |awk '{print $2}' | xargs sudo kill -916 }17 18 case $1 in19 start)20 start21 ;;22 stop)23 stop24 ;;25 restart)26 $0 stop27 sleep 228 $0 start29 ;;30 *)31 echo "Usage: {start|stop|restart}"32 ;;33 esac34 35 exit 0
启动jar包程序:./socdev.sh start
终止jar包程序:./socdev.sh stop