Linux启动脚本输出pid

最近在服务器调程序的时候发现原来的脚本对现在不太适用了,因此换了一种方式来弄。

启动脚本:

#!/bin/bash

#PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
#export PATH
JAVA_HOME=/usr/java/jdk1.7.0_55-cloudera
export PATH=$JAVA_HOME/bin:$PATH
cp="."
for i in $(ls ./lib/*.jar)
do
        cp="$cp:$i"
done
cp="$cp:./classes"
echo $cp

JAVA_OPTS=‘-Xms1g -Xmx9g‘
nohup $JAVA_HOME/bin/java $JAVA_OPTS -cp $cp com.XXX.XXXX  >> /dev/null 2>&1 &
echo $! > main.pid

停止脚本:

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

#pid_=$(ps -ef|grep ‘com.XXX.XXXX‘|grep -v ‘grep‘|awk ‘{print $2}‘)
#echo $pid_
#kill -15 $pid_
kill `cat main.pid`
exit 0

时间: 2024-10-08 08:06:57

Linux启动脚本输出pid的相关文章

java应用linux启动脚本

java应用linux启动脚本 启动脚本:testRun.sh #!/usr/bin/env bash LANG=zh_CN.utf8 JAVA_HOME=/app/jtech/jdk1.8.0_73 APP_DIR=$(pwd) LIB_HOME=$APP_DIR/WEB-INF/lib export JAVA_HOME LANG LIB_HOME cps="$APP_DIR/WEB-INF/classes/" for jarPkg in `find $APP_DIR/WEB-INF

Linux启动脚本rc.local 不执行的解决方法

目录 1./etc/rc.local是/etc/rc.d/rc.local的软链接 2.看看/etc/rc.d/rc.local的权限 3.修改/etc/rc.d/rc.local的可执行权限 4.重启解决 5.版权声明 如果Linux启动脚本/etc/rc.local文件没有被执行,可能是因为rc.loca文件没有可执行权限,按以下步骤解决这个问题. 1./etc/rc.local是/etc/rc.d/rc.local的软链接 执行ls -l /etc/rc.local看看. 2.看看/etc

kafka linux 启动脚本 sample

#!/bin/sh # # chkconfig: 345 99 01 # description: Kafka # # File : Kafka # # Description: Starts and stops the Kafka server # source /etc/rc.d/init.d/functions KAFKA_HOME=/opt/kafka KAFKA_USER=kafka # See how we were called. case "$1" in start)

linux c程序中获取shell脚本输出的实现方法

linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部

Linux Runlevel 启动 脚本

Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Runlevel,并展示一些小技巧来让Linux系统避免不必要的重启动. Runlevel 可以认为是系统状态,形象一点,您可以认为 Runlevel 有点象微软的 Windows 操作系统中的正常启动(Normal).安全模式(Safemode)和Command prompt only.进入每个 Run

linux shell 之尝试编写 企业级 启动脚本

企业Shell面试题10:开发企业级MySQL启动脚本 说明: MySQL启动命令为: 1 /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null & 停止命令逻辑脚本为: 1 2 3 4 5 6 mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null)   then    

Linux启动原理介绍及设置开机启动脚本方法

转自本人个人博客:http://www.xgezhang.com/linux_init_shell.html 之前总是对Linux的整个启动脉络不了解,把这个问题看得很神秘,昨天稍微研究了一下,其实还是很简单的. Linux启动时,所有的启动脚本都放在/etc/init.d/ 下面,而这些脚本又有映射到各个/etc/rcX.d,这个X代表0-6,分别对应不同的系统级别: 0代表关机(halt) 1级别是单用户模式(single) 2级别是多用户级别,这个是默认级 3,4,5未定义,可以提供给用户

Linux中nginx服务器启动脚本

Linux中nginx服务器启动脚本,将此脚本放入/etc/init.d/目录下,进行启动和关闭,并用chkconfig命令将nginx加入到chkconfig管理中,设置开机自启动. 详细脚本如下: #!/bin/bash #author wangning #date 2017-7-14 #qq 1198143315 #Email [email protected] [ -f /etc/init.d/functions ] && . /etc/init.d/functions #chkc

linux下Shell编程--标准的守护进程的启动脚本

一个标准的守护进程的启动脚本: #! /bin/sh WHOAMI=`whoami` PID=`ps -u $WHOAMI | gerp mydaemond | awk '{print $1}'` if (test "$1" = "") then echo "mydaemond [start][stop][version]" exit 0 fi if ( test "$1" = "status") then