ver scripts script resueltos programacion procesos paso pasar parametros hacer español ejercicios ejemplos corriendo como comandos linux bash shell jmeter scripting-language

linux - scripts - Script de Shell para verificar si el proceso ya se está ejecutando y salir si



shell script linux español (2)

Agregue una bandera al comienzo de la función y establézcala en 1, antes de que el final de la función la configure en 0, instálela como lo desee.

#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 }

Otra opción sería escribir en un archivo externo y consultarlo.

Tengo un script de shell con métodos status() y start() . El código está abajo:

#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

ahora cuando ejecuto este script, debo verificar si ya se está ejecutando y si se está ejecutando tengo que salir. Déjame saber cómo hacer esto.


En realidad ya tienes la mayor parte. Debería poder usar el código del status que obtiene el PID y simplemente verificar si existe. Si lo hace, envíe un error y salga. De lo contrario, haz lo que ya tienes.

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 &

}