일부 Python 스크립트로 대상 호스트에서 JMeter-server를 시작해야합니다. Jmeter는 /tmp/jmeter-3sc0ppq5/과 같은 임시 디렉토리가 있습니다. 스크립트 내부에서, 나는 파일을 생성하고 bin에 자신의 기본 디렉토리에 출연 한 데 필요한`의 일부 BeanShell이다가/ 디렉토리 :Python 스크립트, 기본 디렉토리로 Jmeter 서버 시작
File file = new File('errors' + File.separator + fileName);
file.getParentFile().mkdirs();
그러나 마지막으로 나타나는 그것은`(내 파이썬 스크립트 (단순화 뿐만 아니라 JMeter를-server.log에 파일 /루트/)) :
stdin, stdout, stderr = ssh.exec_command('cd /tmp/jmeter-3sc0ppq5/bin/')
run_jmeter_server_cmd = 'nohup java -jar "/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar" -Duser.dir=/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar -Dserver_port=11111 -s -j jmeter-server.log > /dev/null 2>&1'
command = 'echo $$; exec ' + run_jmeter_server_cmd
stdin, stdout, stderr = ssh.exec_command(command)
pid = int(stdout.readline())
보시다시피
도이 user.dir D를 보내려고 irectory를 명시 적으로. JMeter를-server.log에은에/루트 나타나고있다/그러나이 JMeter를 프로세스가 올바른 디렉토리에서 모든 CONFIGS 소요 말한다 :2017-12-20 09:26:49,551 INFO o.a.j.u.JMeterUtils: Setting Locale to en_DK
2017-12-20 09:26:49,566 INFO o.a.j.JMeter: Loading user properties from: /tmp/jmeter-3sc0ppq5/bin/user.properties
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Loading system properties from: /tmp/jmeter-3sc0ppq5/bin/system.properties
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: java.rmi.server.hostname=loadtest08-qa
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: user.dir=/tmp/jmeter-3sc0ppq5/bin/
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: server_port=10001
..............
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: JMeterHome=/tmp/jmeter-3sc0ppq5
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: user.dir =/tmp/jmeter-3sc0ppq5/bin/
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: PWD =/tmp/jmeter-3sc0ppq5/bin
그러나 언급 한 바와 같이 스크립트에 의해 생성 된 모든 파일뿐만 아니라에/루트/디렉토리가는 JMeter를-server.log에
내가 찾은 해결책은 단 하나 하나에 실행하고 cd 명령을 결합,하지만 난 자바 프로세스에 대한 적절한 PID를 얻을 수있다 :
run_jmeter_server_cmd = 'cd /tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar && nohup java -jar "/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar" -Duser.dir=/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar -Dserver_port=11111 -s -j jmeter-server.log > /dev/null 2>&1
JMeter를 강제로 어떤 방법이 있나요 c를하지 않고 자신의 디렉토리를 사용하기 거기에?
-JbaseDir =/tmp/jmeter-3sc0ppq5 /로 속성을 추가하고 스크립트에서 baseDir 속성을 사용하지 않는 이유는 무엇입니까? – user7294900
예, 무슨 일이 벌어지고 있는지 알고 싶었지만 마침내이 해결책을 찾아야한다고 생각합니다. – v0devil