【发布时间】:2013-08-15 22:07:34
【问题描述】:
我正在使用 perl 脚本来启动需要保持运行的 jar。但是,我希望我的 perl 进程结束。我认为这个线程会解决我的问题:How can I fire and forget a process in Perl?
但是,我已经尝试了 fork 和使用系统(cmd &)技术,并且我的 perl 脚本都保持运行。
这是我要分叉的代码:
if (index($all_jars, 'myjar.jar') == -1) {
unless(fork) {
}
else {
exec("java -jar myjar.jar");
}
}
这是我的系统代码(cmd &): 我不确定这是否意味着输入 cmd & 我的命令或只是我的命令 & 但两个系统都没有退出 perl 脚本,直到 jar 进程死亡。
system("cmd & java -jar myjar.jar");
OR
system("java -jar myjar.jar &");
不知道我做错了什么...感谢您能给我的任何帮助或想法。
【问题讨论】:
-
请描述“都不起作用”是什么意思。一般来说,当说某事不起作用时,您必须确切地解释发生了什么(错误消息、错误输出、计算机变成一滩熔融金属和硅......)
-
@JimGarrison 抱歉,我编辑了主题。我的意思是 perl 脚本直到 jar 进程死后才死。
-
只是出于好奇,您使用的是什么操作系统?
-
我目前使用的是 OEL6,但它需要在任何 Windows/Unix 机器上工作