【发布时间】:2012-06-26 09:04:52
【问题描述】:
我目前正在启动一个 Java 进程,并尝试使用 $! 获取其 PID,并将其写入文件。问题是,当我启动 Java 进程时,它会进入自己的“控制台”。 (我不确定这叫什么)。
在我停止进程并退出其“控制台”之前,我无法将此 $! 写入文件,此时 PID 将无用。
我将如何启动 Java 进程并在不结束它的情况下获取它的 PID?
我正在使用echo $! > pidfile.pid 将Java 进程的PID 写入文件。
【问题讨论】:
-
在启动 Java 进程的行尾是否有
&?在不显示一些代码的情况下,我们所能做的就是猜测。 -
您是否在后台运行 java,以便在 java 启动时调用脚本继续运行?
-
做它喜欢 (java -jar jarname&); pid=$!
-
对——@pizza 给出的返回的是包含 shell 的 PID,而不是后台进程的 PID。丹尼斯给出的是通常的正确的事情,所以开始的地方是诊断为什么它似乎不适合你。
-
您在示例中给出的语法是否完全您在做什么?当你尝试它时它会给出任何错误消息吗?
标签: bash