我想通过qsub在Sun Grid Engine上提交作业(现在:Oracle Grid Engine?).我不希望使用-sync yes选项或qrsh,因为我希望我的控制程序是单线程的,并且能够一次启动多个作业.这些选项会阻止我的控制程序的线程.
但是,我想收到我发布的进程的退出状态.从手册页中,似乎无法在不阻塞我的线程的情况下获取此代码.如果没有修改我正在启动的作业以将其退出代码打印到stdout,是否有任何方法可以获得此状态?
假设我有一个ID为1234的进程.此进程在我的应用程序运行之前运行.
我有这个代码:
Process app = Process.GetProcessById(1234);
MessageBox.Show(app.MainWindowTitle);
app.Exited += this.methodShowsMessageBox;
Run Code Online (Sandbox Code Playgroud)
现在,当我编译并运行应用程序时,它会获取进程并显示主窗口标题.然而,当我关闭进程1234时,app.Exited确实无法触发......为什么会这样?我怎么才能解雇它?
我正在尝试在我的x64机器上使用Eclipse Helios(我很确定现在任何eclipse都可能出现这个问题)但它只是不合作.
当我尝试运行eclipse时,我得到以下内容:

我安装了
我已正确链接我的环境变量并尝试编译Java文件cmd并成功完成.
每当我尝试运行eclipse时,我都会得到 exit code=13 (required java version=1.5)
我尝试在
-vm "mypath\jdk1.6.025\jre\bin"
论坛建议的cmd: command中运行以下命令
以及其他路径
-vm "mypath\jdk1.6.025\bin"
-vm "mypath\jdk1.6.025\jre\bin\javaw.exe"
甚至
-vm "mypath\jre6\bin"出于绝望而无济于事.
我完全没有想法,我想知道是否有人有这个问题.我甚至下载了helios x86版本和x86 JDK版本,但它没有解决问题.(我更改了环境变量)我改变了一切,但我被卡住了......
相关问题: 无法运行Eclipse
当我按下窗口右上角的x按钮时,我希望我的JavaFX程序清理程序.我怎样才能做到这一点?清理代码是
JIntellitype.getInstance().cleanUp();
Run Code Online (Sandbox Code Playgroud) 我在这里阅读了很多关于stackoverflow,评论,意见和各种想法的东西.但无论如何,我真的需要一个解释的方法来退出我在C#上的控制台应用程序(我在VS2010框架4上),并带有自定义错误.
我现在能读到的最好的东西是VB:
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
Run Code Online (Sandbox Code Playgroud)
并使用ExitProcess(1)进行错误或ExitProcess(0)
所以我的问题是:
以前的一些问题标记为参考书目:
http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx
我发现了我的奇怪行为,我无法解释.以下代码工作正常:
function prepare-archive {
blah-blah-blah...
_SPEC_FILE=$(check-spec-file "$_GIT_DIR/packaging/")
exit $?
blah-blah-blah...
}
Run Code Online (Sandbox Code Playgroud)
意味着我得到了我期望的价值:
bash -x ./this-script.sh:
++ exit 1
+ _SPEC_FILE='/home/likern/Print/Oleg/print-service/packaging/print-service.spec
/home/likern/Print/Oleg/print-service/packaging/print-service2.spec'
+ exit 1
Run Code Online (Sandbox Code Playgroud)
只要我local向变量添加定义:
local _SPEC_FILE=$(check-spec-file "$_GIT_DIR/packaging/")
Run Code Online (Sandbox Code Playgroud)
我得到以下:
bash -x ./this-script.sh:
++ exit 1
+ local '_SPEC_FILE=/home/likern/Print/Oleg/print-service/packaging/print-service.spec
/home/likern/Print/Oleg/print-service/packaging/print-service2.spec'
+ exit 0
$:~/MyScripts$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
问题:为什么?发生了什么事?我可以捕获从subshell到local变量的输出并可靠地检查subshell的返回值吗?
PS:prepare-archive在主shell脚本中调用.第一个exit是exitfrom check-spec-file函数,第二个是prepare-archive函数 - 这个函数本身是从main shell脚本执行的.我从返回值check-spec-file的exit 1,那么通过这个值exit $?.因此我希望它们应该是一样的.
我正在为我的CSVreader创建一个Junit测试文件.我正在阅读CSV文件的内容并将内容写入另一个文件.我想使用diff实用程序比较它们,我想使用diff的退出状态来知道内容是否相同.一般是$?给出退出状态,但我不知道如何捕获它并在我的代码中使用它.谁可以在这方面帮助我?
这就是我的代码看起来的样子
boolean hasSameContents = false;
command="diff "+mp.get("directory")+"/"+fileName+" "+mp.get("outdir")+"/"+fileName;
p= Runtime.getRuntime().exec(command);
p.waitFor();
Run Code Online (Sandbox Code Playgroud)
在此之后我想获得退出状态并在if这样的条件下使用它
if(exit_status==0)
hasSameContents = true;
else
hasSameContents = false;
Run Code Online (Sandbox Code Playgroud)
甚至其他建议也很受欢 :)
我正在寻找所有可能的jvm退出代码(不是java System.exit(x))的完整列表.我使用搜索引擎唯一能找到的是SIGTERM退出代码列表:http://journal.thobe.org/2013/02/jvms-and-kill-signals.html.我想知道是否有针对未捕获的异常的特定退出代码?
我有一个bash shell脚本,可以像这样调用一些PHP脚本.
#!/bin/bash
php -f somescript.php
php -f anotherscript.php
Run Code Online (Sandbox Code Playgroud)
我想根据这些脚本的结果撰写错误日志和/或活动报告.
有什么办法可以在shell脚本中获取php脚本的退出状态吗?
我可以使用整数退出状态或字符串消息.
如果需要,如何正确和干净地终止python程序?sys.exit()不能可靠地执行这个功能,因为它只是终止它被调用的线程,exit()并且quit()不应该被使用,除了终端窗口,raise SystemExit有相同的问题sys.exit()和不好的做法,并os._exit()立即杀死一切,不清理,会导致残差问题.
有没有一种方法可以一直杀死程序和所有线程,无论它在哪里被调用,同时还在清理?