Linux中自制启动/停止脚本文件

1、概述

在Linux中经常看到这种操作:执行某个脚本文件就能实现对某一服务的启动,在执行另外的脚本文件实现对其的关闭,最典型的莫过于Tomcat中的startup.sh和shutdown.sh,如果想自己实现一个脚本达到对某个程序进行启停的木该如何实现呢,今天就研究下这个问题。

2、操作流程

本文以一个可执行jar包(点击mytask.jar进行下载)作为待执行的程序,用另外两个脚本文件(start.sh和stop.sh)实现对它的启停。
mytask.jar的功能是持续不断地往console输出系统当前时间。
start.sh脚本的内容下:

#! /bin/bash
java -jar mytask.jar > logfile.log 2>&1 &  echo $!|tee process.pid

其中:
在这里插入图片描述
stop.sh脚本内容如下:

#! /bin/bash
PID=$(cat ./process.pid)
kill -9 $PID

从process.pid文件中读取刚刚启动的程序的进程号,然后kill掉。

3、总结

首先说一下小小的事故,最初写start.sh这个脚本时,并没有加上echo $!|tee process.pid,导致运行该脚本后并没能得到PID,由于调度起来的程序是一个死循环,日志文件logfile.log很快就达到G量级了。后来通过echo $!命令查找当前shell里最后一个后台进程的PID,才将其杀掉。当然也可以通过top命令排查一下刚才的死循环对应的PID是多少,然后kill掉。
本文通过start.sh脚本实现了对可执行jar的运行,并通过stop.sh脚本将其停止,当然这两段脚本需要完善 的地方还有很多,后续会添加更多功能。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值