我有一个shell脚本与方法status()和start() 。 代码如下:
#function to check the jmeter processes running status(){ PID=$(ps -ef | grep jmeter|grep -v grep) echo "The jmeter processes running are: n$PID" } #function to run the .jmx file given by the user at run time start(){ echo "Please enter the file name .jmx extension" read file echo "Please enter the log file name .jtl extension" read log_file sh /home/ubuntu/apache-jmeter-3.0/bin/jmeter.sh -n -t $file -l $log_file & } while [ "$1" != "" ]; do case "$1" in start) jmeter_start ;; status) jmeter_status ;; *) echo $"Usage: $0 {start|status}" exit 1 esac shift done
现在当我运行这个脚本,我必须检查它是否已经运行,如果它正在运行,我必须退出。 让我知道如何做到这一点。
在函数的开始处添加一个标志,并将其设置为1,在函数结束前将其设置为0,然后按照您的喜好进行查询。
#function to check the jmeter processes running status(){ PID=$(ps -ef | grep jmeter|grep -v grep) echo "The jmeter processes running are: n$PID" } #function to run the .jmx file given by the user at run time start(){ export start_flag=1 echo "Please enter the file name .jmx extension" read file echo "Please enter the log file name .jtl extension" read log_file sh /home/ubuntu/apache-jmeter-3.0/bin/jmeter.sh -n -t $file -l $log_file & export start_flag=0 }
另一种选择是写入外部文件并查询它。
你其实已经拥有了大部分。 您应该能够使用获取PID的status的代码,并检查它是否存在。 如果是,输出一些错误并退出。 否则,做你已经有的东西。
start(){ PID=$(ps -ef | grep jmeter|grep -v grep) if [ -z $PID ]; then echo "Error: JMeter already running" exit fi echo "Please enter the file name .jmx extension" read file echo "Please enter the log file name .jtl extension" read log_file sh /home/ubuntu/apache-jmeter-3.0/bin/jmeter.sh -n -t $file -l $log_file &
}
总结以上是内存溢出为你收集整理的Shell脚本来检查进程是否已经运行,如果是,退出全部内容,希望文章能够帮你解决Shell脚本来检查进程是否已经运行,如果是,退出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)