我目前正在构建一个JAVA应用程序,该程序只能执行一次。因此,我目前使用锁定文件,在其中编写当前执行的PID。所以每当此应用程序启动时,它将打开文件(如果存在),并尝试检测文件中编写的PID是否正在运行。这可以防止我的应用程序在解锁文件之前崩溃。我需要它在Windows(XP、7或8)和Linux上都能工作(所有用户都在基于Debian的发行版上)。以下是一些代码,以便您更好地了解我想做什么:
我尝试查找有关此主题的文档,但我尚未找到任何有用的信息。
非常感谢。
//get the PID from the file
int pidValue = new FileReader(file).read();
//get the OS type
String os = System.getProperty("os.name").toLowerCase();
//Check PID depending of OS type
if( os.contains("nux") || os.contains("nix") ){
/*
* Check PID on Linux/Unix
*/
} else if ( os.contains("win") ) {
/*
* Check PID on Windows
*/
}
我尝试查找有关此主题的文档,但我尚未找到任何有用的信息。
非常感谢。
ps
命令执行进程并检查 PID 的输出;而对于 Windows,则可以使用tasklist
命令。 - PeterMmm