Articles of 退出代码

Java的。 System.exit(int status)。 退出状态的值

我在stackoverflow上看到了很多关于System.exit(int status)问题。 例如: 系统差异。 在Java中退出(0),System.exit(-1),System.exit(1) System.exit(0)和System.exit(-1)之间的区别 但是我没有看到我的部分问题的答案: Microsoft产品( Microsoft站点 )的exit status和System Error Codes之间是否有直接连接? 当然,我们没有任何直接的联系, 但是:我们可以build立这种联系吗? 如果我们在Windows操作系统上运行我们的java程序,并且我们的java程序有System.exit(int status)语句,那么我们可以使用System Error Codes list吗? 是不是好主意? 你怎么看待这件事? 任何其他的想法? 例: Java程序通过Wisdows OS上的命令行运行; 我们的java程序捕获exception像FileNotFoundException ; 在这之后,我们决定通过System.exit(int state)closures程序。 在这种情况下可以exit status是否等于2 ? 因为( 微软网站 ): ERROR_FILE_NOT_FOUND 2 (0x2) The system cannot find the file specified.

Bash:将variables赋值的代码退出到命令replace

我很困惑当执行variables赋值和命令replace时,命令会返回什么样的错误代码: a=$(false); echo $? 它输出1 ,让我觉得variables赋值不会扫描或产生新的错误代码在最后一个。 但是当我尝试这个: false; a=""; echo $? 它输出0 ,显然这是什么a=""返回,它重写1返回false 。 我想知道为什么会发生这种情况,在variables赋值方面有没有其他的正常命令的特殊性? 或者仅仅是因为a=$(false)被认为是一个单一的命令,只有命令replace部分是有意义的? – 更新 – 谢谢大家,从答案和评论中我得到了一个观点:“当你使用命令replace分配一个variables时,退出状态就是命令的状态。 (by @Barmar),这个解释非常清晰,易于理解,但是对于程序员来说说话不够精确,我想从TLDP或者GNU man page等权威人士那里看到这个参考,请帮我看看出来,再次感谢!

为什么不能从主函数返回更大的值?

我试图返回一个更大的值,如1000forms,我的主要function,但是当我inputecho $? 它显示0。 如果我返回一个更小的值,如100,它会显示正确的值。 我的代码: int main(void) { return 1000; } 我们可以返回的价值是否有限制? 谢谢。

在linux shell中从“ftp”命令获得退出状态代码

我需要从命令行程序中检索退出状态代码。 不用担心,我用$ ?. 但是对于ftp,即使它没有连接,它也会打开ftp shell,所以我不能理解连接没有发生。 试试这个代码的理解: #!/bin/sh ftp 1234567 OUT=$? if [ $OUT -eq 0 ];then echo "ftp OK" else echo "ftp Error: "$OUT fi exit 0 任何帮助? 感谢菲利波

exec退出代码11的含义

我在linux web服务器上使用下面的代码 $error = exec('phantomjs table1.js', $op, $code); echo $code; // prints 11 on screen table1.js var page = require('webpage').create(); var url = 'table1.php'; page.open(url, function (status) { page.render('ss/table1.png'); phantom.exit(); }); table1.php echo '<h1>This should be converted to an image</h1>'; 我通过这个链接,但该代码不在那里列出。 任何想法这个退出代码是什么意思?

如何在Windowsbatch file中获取Java程序的退出状态

类似于$? 在Linux中,有没有办法在Windowsbatch file( .bat )中获取程序的退出状态? 例如,程序成功执行后有一个System.exit(0) ,出现故障时有一个System.exit(1) ,如何将这些出口值捕获到.bat文件中?

如何正确报告批量退出状态?

我正面临一个奇怪的情况,我写的batch file报告了一个不正确的退出状态。 这里是一个重现问题的最小样本: bug.cmd echo before if "" == "" ( echo first if exit /b 1 if "" == "" ( echo second if ) ) echo after 如果我运行这个脚本(使用Python,但实际上也是以其他方式启动时发生的问题),下面是我得到的: python -c "from subprocess import Popen as po; print 'exit status: %d' % po(['bug.cmd']).wait()" echo before before if "" == "" ( echo first if […]

ErrorLevel为什么只能在||之后设置 运营商在一个失败的redirect?

当redirect失败时(由于文件不存在或文件访问不足),似乎不会设置ErrorLevel值(在以下示例中,文件test.tmp是写保护的,文件test.nil不存在): >>> (call ) & rem // (reset `ErrorLevel`) >>> > "test.tmp" echo Text Access is denied. >>> echo ErrorLevel=%ErrorLevel% ErrorLevel=0 >>> (call ) & rem // (reset `ErrorLevel`) >>> < "test.nil" set /P DUMMY="" The system cannot find the file specified. >>> echo ErrorLevel=%ErrorLevel% ErrorLevel=0 但是,只要失败的redirect之后是条件级联运算符|| ,这是查询退出代码, ErrorLevel被设置为1 ,意外: >>> (call ) & rem […]

Windows中崩溃进程的可预测退出代码

对于在Windows中正常退出的进程,进程的退出代码通常是来自main的返回值或传递给std::exit的退出代码。 然后可以使用%ERRORLEVEL%来查询退出代码,这可以用来确定程序是否正确执行,或者是否有一些exception的input/失败指示特定的问题(特定于应用程序)。 但是,如果进程崩溃,我对退出代码感兴趣。 举一个非常简单的示例程序: int main() { int * a = nullptr; *a = 0xBAD; return 0; } 当我编译并在Windows中运行时,在命令行上,我得到: MyCrashProgram.exe -> crashes echo %ERRORLEVEL% -> -1073741819 退出代码始终是这个数字。 这导致了我几个问题: 退出代码-1073741819基于无效写入崩溃以某种方式可预测? 如果是这样,有没有一些方法来确定基于退出代码的崩溃types? 这是否改变了使用的编译器(我使用MSVC 2012)? 这是否改变与正在使用的Windows版本(我使用Win10 TP)? 这是否会改变与架构(例如x64 – 我使用Win32的)? 请注意,我不感兴趣如何修改程序来捕捉exception。 我感兴趣的是对现有程序中可能发生的崩溃进行分类,我可能无法修改。

检查过程是否返回0batch file

我想用batch file启动一个进程,如果它返回非零值,则执行其他操作。 我需要正确的语法。 像这样的东西: ::x.bat @set RetCode=My.exe @if %retcode% is nonzero handleError.exe 作为奖励,您可以考虑回答以下问题,请:) 如何用if写一个复合语句? 如果应用程序My.exe无法启动,因为某些DLL丢失将我的工作? 如果没有,我怎么能检测到My.exe启动失败?