点击(此处)折叠或打开
-
#!/bin/sh
-
-
#程序描述:个性化的nohup,可以判断程序是否启动,如启动,则不重复启动指定程序
-
#作者: 程晓鹏
-
#日期: 2015.01.14
-
-
#获取进程ID
-
#参数1:要查询的进行名称
-
#参数2:要屏蔽的参数
-
#返回值,进程ID
-
function PID
-
{
-
exe="$1";
-
no_grep="$2";
-
pid=`ps -ef | grep "$exe" | grep -v "$no_grep" | grep -v grep | awk '{print $2}'`;
-
echo "$pid";
-
}
-
-
#错误信息打印
-
#参数1:执行的shell程序名称
-
function error_info
-
{
-
v_exe_name="$1";
-
echo "use ${v_exe_name} /start_file_path";
-
}
-
-
args_size=$#; #参数个数
-
if [ "$args_size" -gt 0 ]; then
-
filepath=$1;
-
filename=`basename $1`; #文件名
-
pid=$(PID "$filename" "$0"); #查询执行的文件名,当前进程中是否存在
-
-
if [ ${#pid} -gt 0 ]; then #当进程,正在运行时
-
print_loginfo="$filepath 已经启动,无须进行启动,进程ID=$pid";
-
echo "$print_loginfo";
-
else
-
print_loginfo="$filepath 开始启动... ...";
-
echo "$print_loginfo";
-
nohup $* & #执行nohup操作
-
fi;
-
else
-
error_info $0; #打印错误信息
- fi;