[英]Launcher for Java
我有一個 jar 文件,為此我創建了一個自定義 c++ 啟動器腳本。 我不知道如何只允許程序的一個實例運行。 有沒有辦法檢測已經運行的 jvm?
這是啟動器代碼-
#include <string>
#include <direct.h>
using namespace std;
int main(int arg_count, char* arg_list[]) {
string exeName(arg_list[0]);
string rootDir = exeName.substr(0, exeName.find_last_of("\\"));
string jarFile = ".\\dist\\PlayIt.jar";
string cmd;
string javaCmdFile = ".\\jre\\bin\\javaw.exe";
_chdir(rootDir.c_str());
if (arg_count == 1) {
cmd = "start " + javaCmdFile + " -jar " + jarFile + " visible";
}
else if (arg_count > 1) {
cmd = "start " + javaCmdFile + " -jar " + jarFile + " invisible";
for (int i = 1; i < arg_count; i++) {
cmd += " \"" + string(arg_list[i]) + "\"";
}
}
system(cmd.c_str());
}
/jdk/bin 中的jps
命令列出了所有正在運行的 java 進程。 如果要確保沒有其他進程正在運行,可以使用pkill -9 java
命令。 請注意,它會殺死所有正在運行的 java 進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.