Shell脚本来检查进程是否已经运行,如果是,退出

Shell脚本来检查进程是否已经运行,如果是,退出,第1张

概述Shell脚本来检查进程是否已经运行,如果是,退出

我有一个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脚本来检查进程是否已经运行,如果是,退出所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1281265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存