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
지금, 나는 이미 실행중인 경우 확인해야하고 실행중인 경우 내가 종료해야합니다. 이 작업을 수행하는 방법을 알려주십시오.
이 검사가 걸리는 곳? 'start' 함수에서? – RowlandB
'start'는 백그라운드에서 실행되지 않습니다. 백그라운드에서 다른 프로세스를 시작한 후 즉시 존재합니다. – chepner
@RowlandB 그게 내가 구현하려고 시도했지만 할 수 없었어요 – sai