1.可选择输出到控制台还是后台运行
红色为注意更改路径
#!/bin/sh #-------------------------------------------------------------- # sst.sh - Start/Stop script for SST # # Environment Variable Prequisties # # JAVA_HOME Must point at your Java Development Kit installation # # Application_HOME Point to your program # # -------------------------------------------------------------- Application_HOME="/home/pnsuser/PCRF_SMS_Mediator" JAVA_HOME="/usr/java/jdk1.6.0_30" Application_Name="PCRF_SMS_Mediator" Main_Class="com.pccwmobile.pcrf.notification.main.PCRFNotificationMain" cd $Application_HOME if [ "$1" = "stop" ] ; then echo "Stopping $Application_Name Program ..." PIDLIST=`ps --width 8000 -fu $USER | grep -v "grep" | grep "$Main_Class" | cut -c 9-14` PID=`echo $PIDLIST | cut -c 1-5` if [ -n "$PID" ] ; then echo "Killing process $PID ..." kill -9 $PID else echo "$Application_Name Program is not running. Nothing to kill!" fi exit 1 elif [ "$1" = "status" ] ; then PIDLIST=`ps --width 8000 -fu $USER | grep -v "grep" | grep "$Main_Class" | cut -c 9-14` PID=`echo $PIDLIST | cut -c 1-5` if [ -n "$PID" ] ; then echo "$Application_Name Program is running (PID=$PID)" else echo "$Application_Name Program is not running." fi exit 1 elif [ "$1" = "run" ] ; then PIDLIST=`ps --width 8000 -fu $USER | grep -v "grep" | grep "$Main_Class" | cut -c 9-14` PID=`echo $PIDLIST | cut -c 1-5` if [ -n "$PID" ] ; then echo "$Application_Name Program is running (PID=$PID)" exit 1 else for i in $Application_HOME/lib/*.jar do if [ "$i" != "$Application_HOME/lib/*.jar" ] ; then if [ -z "$LCP" ] ; then LCP=$i else LCP="$i":"$LCP" fi fi done LCP=$Application_HOME/conf/:$LCP Application_CMD="$JAVA_HOME/bin/java -classpath $LCP:$Application_HOME/resource $Main_Class" echo $Application_CMD $Application_CMD fi elif [ "$1" = "start" ] ; then PIDLIST=`ps --width 8000 -fu $USER | grep -v "grep" | grep "$Main_Class" | cut -c 9-14` PID=`echo $PIDLIST | cut -c 1-5` if [ -n "$PID" ] ; then echo "$Application_Name Program is running (PID=$PID)" exit 1 else for i in $Application_HOME/lib/*.jar do if [ "$i" != "$Application_HOME/lib/*.jar" ] ; then if [ -z "$LCP" ] ; then LCP=$i else LCP="$i":"$LCP" fi fi done LCP=$Application_HOME/conf/:$LCP Application_CMD="$JAVA_HOME/bin/java -classpath $LCP:$Application_HOME/resource $Main_Class" echo "$Application_CMD > /dev/null &" $Application_CMD > /dev/null & fi else echo "Usage: ( run | start | stop | status)" echo "Commands:" echo " run Run $Application_Name program in current console" echo " start Start $Application_Name program as background process" echo " stop Stop $Application_Name program" echo " status Show the status of $Application_Name program" exit 1 fi
把 stdout 送到 /dev/null(无底洞) 里面,就不会输出到前台。 2.这是直接输出到控制台,是上面.sh的简化版
Application_HOME="/data/onepns/docroot/SMPP_HPNS/PCRF_SMS_Mediator"
JAVA_HOME="/usr/java/default/"
#-------------- Simple Grep -----------------------------
if [ "$1" = "stop" ] ; then
echo "Stopping SMPPModule Program ..."
PIDLIST=`ps --width 2000 -fu $USER | grep -v "grep" | grep "$Application_HOME" | cut -c9-14`
PID=`echo $PIDLIST | cut -c0-5`
if [ -n "$PID" ] ; then
echo "Killing process $PID ..."
kill -9 $PID
else
echo "PCRF_SMS_Mediator Program is not running. Nothing to kill!"
fi
exit 1
elif [ "$1" = "status" ] ; then
PIDLIST=`ps --width 2000 -fu $USER | grep -v "grep" | grep "$Application_HOME" | cut -c9-14`
PID=`echo $PIDLIST | cut -c0-5`
if [ -n "$PID" ] ; then
echo "PCRF_SMS_Mediator Program is running (PID=$PID)"
else
echo "PCRF_SMS_Mediator Program is not running."
fi
exit 1
fi
#-------------- The part below need java ---------------------
for i in $Application_HOME/lib/*.jar
do
# if the directory is empty, then it will return the input string
# this is stupid, so case for it
if [ "$i" != "$Application_HOME/lib/*.jar" ] ; then
if [ -z "$LCP" ] ; then
LCP=$i
else
LCP="$i":"$LCP"
fi
fi
done
LCP=$Application_HOME/conf/:$LCP
echo "----------------------------------------"
echo Using JAVA_HOME: $JAVA_HOME
echo Using Application_HOME: $Application_HOME
echo "----------------------------------------"
#Application_CMD="$JAVA_HOME/bin/java -classpath $LCP com.pccwmobile.Test"
Application_CMD="$JAVA_HOME/bin/java -classpath $LCP:$Application_HOME/resource com.pccwmobile.pcrf.notification.main.PCRFNotificationMain"
echo $Application_CMD
$Application_CMD
相关推荐
### Linux超强归纳总结秘籍 —— 华为内部培训文档解析 #### 1. 命令行操作及常用命令使用 ##### 1.1 Shell简介 - **定义**: Shell 是用户与 Linux 操作系统之间的交互接口。 - **类型**: Linux 支持多种 Shell,...
《Linux进程通信[归纳].pdf》一书是针对Linux系统环境下C语言编程的详细指南,旨在帮助开发者深入理解和掌握Linux进程通信技术。该书结合作者的实战经验,以丰富的实例和详细的注释,阐述了Linux C程序设计的核心...
根据提供的文件内容,我们可以归纳出一系列与Shell脚本相关的知识点,包括如何编写基本的脚本来完成特定任务,例如处理文件、目录操作、条件判断、循环结构等。下面将逐一解析这些练习题涉及的关键知识点。 ### ...
这篇归纳涵盖了从硬件配置到软件安装的全过程,适合用于大型Linux集群的规划和实施。 首先,硬件配置是集群搭建的基础,包括理解架构、规划逻辑网络设计、设置终端服务器以及更新固件等关键环节。在物理设计阶段,...
《Linux Shell编程实现用户管理系统》 在Linux操作系统中,Shell扮演着用户与系统交互的重要角色,它是一种命令解释器,同时也是强大的编程环境。这篇大作业主要涉及的是利用Shell编程来实现一个用户管理系统的功能...
1,新建目录(如果有老的目录,则移除掉) 2,从svn获取项目代码,并归纳好目录 3,编译项目代码 4,启动项目 打开文件 配置好各种信息 执行 sh script start 即可
此项目是对在Linux运维工作所能用到的Shell脚本和Python脚本的归纳和总结。 大部分源码均出自生产系统并经过比较严谨的测试,少部分脚本是用于学习或者测试目的。 遵循实用并尽可能的pythonic的原则。 为什么有...
Linux Shell是操作系统用户界面的重要组成部分,它是一个命令解释器,负责将用户在终端输入的命令转化为操作系统内核能...通过熟练运用Shell,用户可以更高效地管理文件、编写脚本、自动化任务,进一步提升工作效率。
以下是对"proeforlinux安装教程[归纳].pdf"的详细解读,帮助你了解如何在Linux系统上安装ProE。 1. **安装csh**:ProE需要csh(C Shell)作为其交互式命令行环境。在Linux终端中,使用`sudo apt-get install csh`...
本文将深入探讨如何配置SUSE Linux系统的备份与恢复,主要依据"SUSELINUX系统备份恢复配置[归纳].pdf"文档中的内容。 首先,我们需要安装`rear`(Reliable And Easy Backup)软件包。`rear`是一款开源的备份和恢复...
总结来说,搭建Linux上的Java Web服务器涉及多个步骤,包括安装JDK、Tomcat、Mysql,以及配置环境变量和启动脚本。正确执行这些步骤,你就可以在Linux系统上拥有一个功能完备的Java Web服务器,能够支持各种Web应用...
- 要让VSFTPD在系统启动时自动运行,可以将启动命令添加到`/etc/rc.local`或创建自定义的启动脚本。 5. **限制用户活动**: - 使用`chroot`功能,可以将用户限制在自己的主目录内,避免对系统造成潜在危害。 6. ...
根据提供的文件内容,我们可以归纳出该脚本的主要功能与实现逻辑。这段脚本涉及到了 shell 编程的基础知识,如变量定义、函数定义、条件语句、循环结构以及一些常用的 Linux 命令等。接下来将对这些知识点进行详细的...
在Linux环境下搭建Redmine是一个涉及多个步骤的过程,主要涵盖了Ruby的安装、RubyGems的安装、Rails框架的安装、MySQL数据库的配置以及Redmine本身的安装和配置。以下是对这些步骤的详细说明: **一、Ruby的安装** ...
操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络...
根据提供的文件信息,我们可以归纳出以下与Linux命令相关的知识点: ### Linux系统命令基础 #### 文件权限设置 在Linux系统中,文件的权限管理是至关重要的。`chmod` 命令用于更改文件或目录的权限。 **示例**: `...