我必須為可執行 jar(例如,executable.jar)編寫啟動和停止腳本。
如何使用 shell 腳本來做到這一點?
我在 Windows 環境下成功地做到了這一點。文件。但無法為其編寫 shell 腳本。
答案1
這是簡單的版本:您可以編寫一個小腳本,如下所示(將其另存為 MyStart.sh)
#!/bin/bash
java -jar executable.jar & # You send it in background
MyPID=$! # You sign it's PID
echo $MyPID # You print to terminal
echo "kill $MyPID" > MyStop.sh # Write the the command kill pid in MyStop.sh
當您使用 執行此腳本時/bin/bash MyStart.sh
,它將在螢幕上列印該進程的 PID。
否則,您可以將屬性變更為 MyStart.sh( chmod u+x MyStart.sh
) 並簡單地使用 運行它./MyStart.sh
。
要停止該進程,您可以透過命令列編寫,kill 1234
其中 1234 是腳本回答的 PID,或者/bin/bash MyStop.sh
使用後請記得刪除腳本 MyStop.sh。
答案2
您不需要執行單獨的腳本來停止任務。
借用哈斯塔的劇本:
#!/bin/bash
java -jar executable.jar & # Send it to the background
MyPID=$! # Record PID
echo $MyPID # Print to terminal
# Do stuff
kill $MyPID # kill PID (can happen later in script as well)