我写了一个java程序,有main方法入口,已经打包一个jar,并已经能在unix下启动运行,但我想写个脚本文件,方便管理人员去启动和关闭我的java进程. 类似于tomcat的startup.sh,shutdown.sh ,但不能具体如何写,我查过资料,大概原理是启动java进程后,获得进程pid,pid保存到一个文件中,关闭时,读取这个文件,获得pid,kill pid. 具体怎样写不知道,请熟悉这方面的帮忙写写,谢谢.
#!/bin/sh
SERVER=/home/java/server
cd $SERVER
case "$1" in
start)
nohup java -Xmx128m -jar server.jar > $SERVER/server.log 2>&1 &
echo $! > $SERVER/server.pid
;;
stop)
kill `cat $SERVER/server.pid`
rm -rf $SERVER/server.pid
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: run.sh {start|stop|restart}"
;;
esac
exit 0
我的第一个可执行脚本:
CLASS_PATH=myReminder.jar
CLASS_PATH=$CLASS_PATH:lib/classes12.jar
CLASS_PATH=$CLASS_PATH:lib/log4j-1.2.16.jar
CLASS_PATH=$CLASS_PATH:lib/dom4j-1.6.jar
CLASS_PATH=$CLASS_PATH:lib/jaxen-1.1.1.jar
SERVER=/qzpt/mysms
cd $SERVER
case "$1" in
start)
nohup java -Dfile.encoding=UTF8 -Xms64M -Xmx256M -cp $CLASS_PATH com.trendsnet.myReminder.ReminderShell > $SERVER/server.log 2>&1 &
echo $! > $SERVER/server.pid
;;
stop)
kill `cat $SERVER/server.pid`
rm -rf $SERVER/server.pid
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: myshell.sh {start|stop|restart}"
;;
esac
exit 0
分享到:
相关推荐
【Linux Shell 程序开发】 Shell编程是Linux系统中一种强大的命令解释器,它允许用户编写脚本来自动化常见的操作系统任务。西南科大的Linux实验报告着重于掌握Shell编程的基本特性和实际应用。 **一、实验目的** 1....
在Linux系统中,Bash(Bourne-Again SHell)是默认的命令解释器,是用户与操作系统交互的重要工具。Bash shell脚本是一种强大的编程语言,它允许用户编写自动化任务,执行日常管理任务,或者创建复杂的系统服务。...
在Linux操作系统中,shell脚本是一种强大的工具,用于自动化任务执行和系统管理。"Linux下shell自启动程序"指的是利用shell脚本在系统启动时自动运行特定的任务或服务。这通常涉及到Linux系统的初始化进程和系统服务...
在IT行业中,Linux Shell是操作系统的核心组成部分,它提供了一个命令行接口(CLI)来与Linux或类Unix系统交互。在本场景中,我们关注的是如何在Linux Solaris环境下配置Oracle数据库以便实现自启动。这个话题涉及到...
在Linux环境中,发送电子邮件可以通过Shell脚本来实现,这对于自动化任务或者系统通知非常有用。本教程将介绍三种不同的方法来使用Linux Shell发送邮件。 ### 方法一:简单邮件发送 最基础的发送邮件方式是使用...
### Linux Shell Scripting with Bash #### 核心知识点解析 **1. Linux Shell Scripting 基础** - **Shell 的概念与作用** - Shell 是一个命令解释器,是用户与操作系统之间的交互界面。 - 用户通过输入命令,...
You can start writing scripts and one-liners by simply looking at the relevant recipe and its descriptions without any working knowledge of shell scripting or Linux. Intermediate / advanced users, ...
标题“start shell command”指的是在Linux或类Unix操作系统中启动Shell命令的过程。Shell命令是用户与操作系统交互的主要方式,特别是对于系统管理员和开发者而言。在Linux中,Shell脚本(如`killall.sh`和`start...
linux shell脚本启动java。 ---------------------------------------- Windows编辑的sh,在linux会报错: shell unexpected end of file 解决办法: vim test.sh :set fileformat=unix :wq ----------------------...
### Linux之Shell脚本知识点详解 #### 一、Shell脚本概述 在Linux环境中,Shell是一种用户与操作系统交互的方式,而Shell脚本则是利用Shell语言编写的程序。它能够执行一系列命令来完成特定任务,例如文件操作、...
在Linux中,Redis服务通常通过`systemd`命令控制,如`systemctl start/stop/restart redis.service`。 再来看**Nginx**,这是一款高性能的HTTP和反向代理服务器,也是邮件代理服务器。安装Nginx的Shell脚本会涉及...
针对标题"Linux安装Tomcat Shell脚本",描述中提到的是一站式脚本,涵盖了安装Tomcat、配置JDK以及创建Tomcat用户等多个步骤。接下来,我们将深入探讨这些知识点。 **一、Linux Shell脚本** Shell脚本是Linux系统...
Linux Shell是Linux操作系统中的一种命令解释器,它允许用户通过命令行界面与系统进行交互,执行各种系统操作。本文档《Linux Shell从入门到精通》是作者李振良基于个人经验整理的一份全面教程,旨在帮助读者从零...
在旧的init系统中,服务启动配置通常在`/etc/rc.d/init.d`目录下,以shell脚本形式存在,并通过`chkconfig`或`update-rc.d`命令管理开机启动。例如,创建一个名为`my-service.sh`的脚本,然后: ```bash sudo chmod...
在Linux和Unix环境中,Shell脚本是自动化任务和系统管理的强大工具。数组是Shell编程中的一个重要概念,允许我们存储和处理多个相关值。在Linux Shell中,数组的使用技巧包括创建、读取、赋值、删除以及一些特殊操作...
在Windows和Linux环境中,启动批处理脚本(bat)和shell脚本(sh)是常见的任务,特别是在自动化和脚本执行过程中。`RunScript.java`和`StreamGobbler.java`这两个文件可能就是用来实现这个功能的。 `RunScript....
Linux下SpringBoot/SpringCloud微服务部署Shell,对微服务jar进行部署,格式如下: sh spring-boot.sh $OPERATION jar包.jar --spring.profiles.active={自定义} OPERATION支持start、stop、status
### Shell连接不上Linux虚拟机的常见问题与解决方案 在IT领域,尤其是系统管理和软件开发过程中,经常遇到通过Shell无法远程连接到Linux虚拟机的问题。这不仅影响工作效率,还可能导致项目延期。本文将深入探讨这一...
该脚本基于centos环境下的shell脚本自动部署配置,该脚本内容基本无需变化,仅根据sh文件名称进行对应的服务jar名称定位,比如,将...也封装了start,status,restart,stop等常用shell命令函数,灵活方便,容易上手。