- 浏览: 141635 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
cnmcxiari:
Set ws = CreateObject("Wsc ...
bat启动java程序 可以隐藏cmd窗口 -
timer_yin:
不行啊 还是无法隐藏CMD窗口
bat启动java程序 可以隐藏cmd窗口
- #!/bin/sh
- SERVER=/home/java/server
- cd$SERVER
- case"$1"in
- start)
- nohupjava-Xmx128m-jarserver.jar>$SERVER/server.log2>&1&
- echo$!>$SERVER/server.pid
- ;;
- stop)
- kill`cat$SERVER/server.pid`
- rm-rf$SERVER/server.pid
- ;;
- restart)
- $0stop
- sleep1
- $0start
- ;;
- *)
- echo"Usage:run.sh{start|stop|restart}"
- ;;
- esac
- exit0
shell学习2
#声明执行该脚本的程序使用sh或bash
#! /bin/sh
#利用pwd命令获取当前工程目录,实际获取到的是该shell脚本的目录。再利用sed命令将/bin替换为空
Project_HOME=$(echo `pwd` | sed 's/\/bin//')
#存放进程文件
ProjectPIDFILE=$Project_HOME/project.pid
#case语句,对应结束为esac 特殊变量$1,该变量包含有传递给该脚本的第一个参数值
#一般运行时,都是./**** start or stop ,所以参数值如下所示
case $1 in
#输入参数为start时
start)
#输出starting project ... ,echo可以看成print to screen
echo "Starting project ... "
#设置变量Heap的大小,表示JVM虚拟机堆内存的大小,XMS初始化内存,XMX最大内存,一般两个相等且不超过2G。
HEAP_MEMORY=512m
#永久域内存,永久区域用来存放Java类及其他虚拟机自己的静态数据,
#也包含初始化和最大值,一般设置相等,减少达到初始化值时去申请内存的开销
PERM_MEMORY=64m
#JMX连接端口
JMX_PORT=7001
#jvm启动部分参数
JAVA_OPTS="-server -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider -XX:+HeapDumpOnOutO
fMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.j
mxremote.ssl=false"
#shift 命令,shift 命令执行前变量 $1 的值在 shift 命令执行后就不可用,位置变量的指向向后移1次
shift
#($*)所有参数赋给ARGS,当然$1除外
ARGS=($*)
#if循环加case语句,作用就是把shell的参数值赋给之前定义的变量,比如./*.sh start -JmxPort 8888
#则定义的JMX_PORT=7001即变为8888
for ((i=0; i<${#ARGS[@]}; i++)); do
case "${ARGS[$i]}" in
-D*) JAVA_OPTS="${JAVA_OPTS} ${ARGS[$i]}" ;;
-Heap*) HEAP_MEMORY="${ARGS[$i+1]}" ;;
-Perm*) PERM_MEMORY="${ARGS[$i+1]}" ;;
-JmxPort*) JMX_PORT="${ARGS[$i+1]}" ;;
esac
done
#完整的jvm启动参数,将之前定义的变量组合。
JAVA_OPTS="${JAVA_OPTS} -Xms${HEAP_MEMORY} -Xmx${HEAP_MEMORY} -XX:PermSize=${PERM_MEMORY} -X X:MaxPermSize=${PERM_MEMORY} -Dcom.sun.management.jmxremote.port=${JMX_PORT} -Duser.dir=${Projec t_HOME}"
#输出参数
echo "start jvm args ${JAVA_OPTS}"
#此条语句最为重要,使用nohup命令启动jar包,nohup命令就是让程序永远在后台运行
nohup java $JAVA_OPTS -jar ${Project_HOME}/bin/project.jar &
# $!为系统变量,表示上一个子进程的进程号。 shell遇到”>”操作符,会判断右边文件是否存在,如果存在就先删除,并且创建新文件。
#不存在直接创建。无论左边命令执行是否成功。右边文件都会变为空。
#重定向不是很理解,个人认为就是将进程号保存在 project.pid文件中
echo $! > $ProjectPIDFILE
#打印系统启动成功
echo STARTED
#一直不知道两个连着的分号是啥意思,我想应该就是break的意思
;;
#如果$1为stop时
stop)
echo "Stopping project ... "
#首先判断project.pid是否存在,若不存在返回没有找到文件。-f 判断后面参数是否是一个文件,若是返回1
if [ ! -f $ProjectPIDFILE ]
then
echo "error: count not find file $ProjectPIDFILE"
exit 1
else
#杀掉系统进程 $(cat $ProjectPIDFILE)
kill -9 $(cat $ProjectPIDFILE)
rm $ProjectPIDFILE
echo STOPPED
fi
;;
#如果$1不是start、stop等任意字符时,
*)
echo "Exec ... "
#调用ant来执行这个命令
ant $*
;;
#结束case语句
esac
exit 0
发表评论
-
博客迁移说明
2014-05-08 14:49 570从今天起,此博客空间不再更新博客,全部博客迁移到http: ... -
reids学习(持续更新)
2013-08-28 15:38 644reids命令 文档查询网址http://redis.read ... -
编码解析过程
2013-07-11 19:21 937如果不进行encodeuri时而且web容器没有设置编 ... -
top:动态观察程序的变化
2013-07-11 17:46 824转载自:http://www.cnblogs.com/all ... -
linux 服务器之间做同步
2013-05-08 18:16 739在工作中我经常要用到服务器之间的数据同步 使用的命令rsy ... -
java 内存分析之---Eclipse Memory Analyzer使用
2013-05-03 17:42 1188生成报告 jmap -dump:live,format=b ... -
Rides 学习
2012-12-06 14:08 800http://www.searchdatabase.com.c ... -
apache学习
2012-11-05 11:05 689通过配置APACHE,使得被访问页面在客户端进行缓存,从而实现 ... -
linux 下apache的使用
2012-11-01 10:07 0安装: ./configure --prefix=/usr/ ... -
工具命令
2012-10-16 17:04 672nslookup 域名 netstat ... -
性能分析工具
2012-10-16 10:52 1539jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: ... -
nginx使用
2012-10-11 18:43 719nginx/nginx.conf 配置讲解:http:// ... -
win7 安装盘 进行分区
2012-05-29 14:37 709windows7安装盘自带的分区工具分区,会产生100M的隐藏 ... -
bat启动java程序 可以隐藏cmd窗口
2012-01-08 15:12 11329启动: 程序启动时创建一个文件 然后程序运行,主线程检测文件 ... -
TCP 学习
2011-12-31 11:53 736断开连接时的意外:这个算不上断开连接时的意外,当TCP连接发生 ... -
linux中终止java程序/进程
2011-12-29 09:26 5529在linux/unix下,你会怎么中止一个java应用或进程? ... -
乱码处理
2011-11-24 10:12 920将GBK编码的filename 转换成utf-8形式的newF ... -
FTP的应用
2011-11-14 19:30 794我们很多时候会用到FTP服务,但是往往需要我们安装ftp服务后 ... -
svn导出导入使用
2011-11-14 18:16 4400因为要更换svn服务器,因此需要在将原有的代码库迁移到新服务器 ... -
tomcat在windows和ubuntu下的安装配置
2009-12-24 09:52 805tomcat在windows和ubuntu下的安装配置 win ...
相关推荐
Java Spring-Boot Shell 启动器是一个实用工具,它提供了通过Shell脚本来管理Spring-Boot应用的便捷方式。这个启动器允许用户启动、停止、重启和查看应用日志,而无需手动使用`kill`命令来结束进程。在IT环境中,...
标题 "Tomcat停止与启动shell" 指的是一个用于管理Tomcat服务器的脚本,通常这个`restart.sh`文件是用来自动化Tomcat服务的启动和停止操作的。Tomcat是Apache软件基金会的一个开源项目,是一个广泛使用的Java ...
在Linux系统,特别是CentOS这样的基于Red Hat的发行版中,使用shell脚本来启动和管理Java应用程序(如jar包)是一种常见的做法。本文件包提供了一个名为`run.sh`的shell脚本模板以及一个`run命令详解.docx`文档,...
在Linux环境中,管理和部署Java应用程序,特别是Spring Boot应用,通常会使用Shell脚本来自动化启动、停止等操作。本文将详细讲解如何编写一个用于启动和停止Spring Boot jar程序的Shell脚本,以及脚本中涉及的关键...
- `shell`脚本可以用于自动化`Java`应用的部署、启动、停止、重启等操作。 - 结合`cron`定时任务,定期执行脚本进行定时任务或维护工作。 8. **脚本参数传递**: - `$1`, `$2`, ... `$n`表示脚本接收到的参数,`...
- **监控与重启**:使用`nohup`或`screen`命令可以让程序在后台运行,即使用户退出Shell会话也不会停止。同时,可以结合`crontab`定时任务或`systemd`服务来实现自动重启。 4. **shell_test文件** 在提供的压缩包...
在Java开发中,有时我们需要将一个Java程序设计为后台服务,以便它能在系统启动时自动运行,无需用户交互。这通常适用于服务器应用、定时任务或其他需要持续运行的任务。本示例将详细介绍如何将Java程序转化为后台...
在开发和运维过程中,通过编写Shell脚本可以自动化Tomcat的启动、停止和重启等操作,提高效率。 在描述中提到的博文链接指向了ITEYE博客上的一篇文章,尽管具体内容没有给出,但通常这类文章会详细介绍如何创建和...
这通常涉及到编写一个bash shell脚本,该脚本可以依次执行Java命令来运行、停止或重启多个.jar文件。例如,`gollum.sh`可能是这样一个脚本,它会按照特定的顺序执行这些操作。 在`gollum.sh`脚本中,我们可能看到...
JavaAgent是一种强大的技术,它允许在Java应用程序运行时对其进行拦截和修改,而无需停止或重新启动应用。在本文中,我们将深入探讨如何利用JavaAgent来实现补丁的动态加载,以及如何通过shell脚本将其部署到容器...
本文主要介绍了一个通用的Linux java程序启动脚本代码实例,该脚本可以用来启动java程序,支持启动、停止、重启和查看是否正在运行的功能。下面是对该脚本的详细解释: 一、环境变量及程序执行参数 该脚本中定义了...
在Java应用部署中,shell脚本通常用于启动、停止、监控服务等操作。 - `tomcat.sh`可能是一个用于管理Tomcat服务器的脚本,如启动、停止、重启Tomcat实例,或者配置环境变量。 2. **Java Archive (JAR) 文件**: ...
这些应用程序可以被设计为“可执行的”JAR或WAR文件,可以直接通过`java -jar`命令启动。然而,在生产环境中,我们往往需要更高级的控制方式,这就引入了启动脚本的需求。 首先,让我们了解一下如何创建一个简单的...
- 要停止运行的Java程序,首先使用`ps -aux`命令找到程序的进程ID,然后使用`kill`命令杀掉该进程。 5. **处理Java版本问题** - CentOS默认的JDK版本可能不兼容某些应用程序。例如,如果SMSAPI需要JDK 1.6,而...
最后,为了确认一切设置无误,你可以使用 `service tomcat start`、`service tomcat stop`、`service tomcat restart` 和 `service tomcat status` 命令来测试Tomcat服务的启动、停止、重启和当前状态。 通过以上...
2. Shell命令执行:Java程序可以调用Runtime或ProcessBuilder类来执行Linux Shell命令,如`ls`, `ps`, `top`等,获取服务器状态信息。 3. 自定义脚本:将Java与Shell脚本结合,可以创建复杂的运维流程,比如定期...
整个java程序就将停止,为了解决这个问题,可以将jar包设置为后台服务,并进一步设置为系统服务和开机自启 1. 编写启动脚本 脚本存放位置随意,本例保存在了/etc/rc.d/init.d/file-preview-server.sh # !/bin/...
在Linux环境中,管理和维护Spring Boot应用程序常常涉及到启动、停止和重启操作。本文将详细解析如何在Linux中通过脚本实现这些功能,特别是针对Spring Boot的jar包应用。 首先,了解Spring Boot的应用配置文件。...
在Linux系统中,为了方便管理和自动化执行Java应用程序,通常会编写shell脚本来封装启动、停止和重启jar包的命令。本文将深入解析标题为“Linux启动jar包的shell脚本”的技术要点,以及如何通过shell脚本来实现这些...
在这个场景下,我们可以利用 Java 编写的程序来调用 PowerShell 命令,实现对 Windows 的各种操作。 首先,让我们详细了解如何通过 Java 调用 PowerShell 脚本: 1. **调用 PowerShell 命令**: 在 Java 中,我们...