如何解决是否可以从 systemd 守护程序服务在 java 中运行 bash 脚本
当代码作为 systemd linux ( Ubuntu 18.04 ) 服务运行时,我想运行 Java exec,这可能吗?如果可能,如何?现在,如果我在终端中运行代码,我的代码正在运行,它会调用 bash 脚本,而 bash 脚本会完成这项工作。但是,当我的程序作为 systemd 服务运行时,它会挂起并且 bash 脚本什么也不做。有任何想法吗?顺便说一下,bash 脚本将通过 REST 请求从服务器调用
我把执行官当成;
String[] command = { "bash","-x","/some_script.sh","argument1"};
ProcessBuilder probuilder = new ProcessBuilder( command );
probuilder.directory(new File(System.getProperty("user.home")));
Process process = probuilder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
System.out.println("Output of running %s is:\n",Arrays.toString(command));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
try {
int exitValue = process.waitFor();
System.out.println("\n\nExit Value is " + exitValue);
} catch (InterruptedException e) {
e.printStackTrace();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。