我正在运行一个测试服务器(本地应用程序),我想获取其进程 ID 并终止。怎么做?
我正在运行test-serverusing 命令nohup ./test-server &,并同时使用以下命令验证进程的 PID
ps -ef | grep 'test-server' | grep -v 'grep' | awk '{ printf $2 }'
输出:
svr-ser+ 42707 42618 0 10:43 pts/2 00:00:00 /bin/sh ./test-server
svr-ser+ 42709 42707 0 10:43 pts/2 00:00:00 /bin/sh ./test -Dserver_port=1099 -s -j test-server.log
svr-ser+ 42734 42709 9 10:43 pts/2 00:00:01 /usr/bin/java -server -XX:+HeapDumpOnOutOfMemoryError -Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20 -Djava.security.egd=file:/dev/urandom -Duser.language=en -Duser.region=EN -Dserver_port=1099 -s -j test-server.log
Run Code Online (Sandbox Code Playgroud)
& 使用以下命令终止进程,
ps -ef | grep 'test-server' …
上下文: 我有一个任务要在远程机器上运行一些脚本,然后退出
我有一个脚本,但我很困惑如何在其中使用换行符,
triggerPerformanceTest(){
report=$1
userDataFiles=$2
baseURL=$3
cdnURL=$4
streamingURL=$5
echo "Startin the Jmeter script"
ssh -tt -i Test.ppk username@<test server> <<EOF
cd apache-jmeter-3.1/bin/
JVM_ARGS="-Xms512m -Xmx25000m" ./jmeter.sh -n -t /home/ubuntu/JMeter/Test.jmx --jmeterproperty XMLReport=$report --jmeterproperty UserDataFile=$userDataFiles --jmeterproperty BaseUrl=$baseURL --jmeterproperty CdnUrl=$cdnURL --jmeterproperty StreamingUrl=$streamingURL --jmeterproperty isBenchMark=false --jmeterproperty Enable_DigitalExhaust=true --jmeterproperty Enable_Health=true --jmeterproperty HealthPollingInterval=6
exit
EOF
echo "Test successfully executed"
}
triggerPerformanceTest Log.csv UserDataFile.csv localhost localhost localhost
Run Code Online (Sandbox Code Playgroud)
在我运行 JMeter 脚本的第二步中,它有很多属性。有没有一种方法可以在此处使用换行符,以便将所有行视为一步。就像下面提到的
ssh user@server << EOF
command_one
command_two argument1 argument2 argument3 argument4
argument5 argument6 argument7
command_three
EOF
Run Code Online (Sandbox Code Playgroud) shell-script ×2