标签: exit-code

java bash命令问题

可能重复:
如何从Java中的Process运行中获取bash命令退出代码?

嗨,我有一个简单的程序使用bash命令解密另一个文件./nv0914 < nv0914.challenge,其中nv0914是一个unix可执行文件,而nv0914.challenge是一个用于解密的文本文件.现在,当我从bash运行它,之后如果我运行命令,echo ${?}我得到一个值0,这是好的.但是现在我必须实施一次攻击,为此我需要通过java程序打印退出值.我现在有这个代码:

import java.io.*;
   import java.util.*;

   public class ExecBashCommand {
     public static void main(String args[]) throws Exception {


       Runtime runtime = Runtime.getRuntime();
       Process process = runtime.exec("./nv0914 < nv0914.challenge");

      /* InputStream is = process.getInputStream();
       InputStreamReader isr = new InputStreamReader(is);
       BufferedReader br = new BufferedReader(isr);
       String line;*/

System.out.println("Exit Code: "+process.exitValue()); 
       //System.out.printf("Output of running %s is:", Arrays.toString(args));

      /* while ((line = br.readLine()) != null) {
         System.out.println(line);
       }*/

     }
    } 
Run Code Online (Sandbox Code Playgroud)

但是这个程序给了我一个错误:

Exception in thread "main" java.lang.IllegalThreadStateException: …
Run Code Online (Sandbox Code Playgroud)

java bash runtime.exec exit-code

1
推荐指数
1
解决办法
9090
查看次数

请参阅Unix中的java退出代码

我正在使用System.exit(int)从java程序中抛出退出代码.当程序以这种方式退出时,我是否能够看到任何消息?我此刻什么也看不见.

java unix exit-code

1
推荐指数
1
解决办法
1448
查看次数

将退出代码从ant返回到批处理文件

我的.bat文件中有几个ant任务要执行.
我的.bat文件如下:

调用ant -buildfile task.xml target1
调用ant -buildfile task.xml target2

对于每个ant任务,它将执行一个java程序,程序将使用System.exit()返回退出代码.

我知道可以通过在ant配置中使用resultproperty来接收退出代码.
如何通过调用ant任务获取.bat文件中的退出代码?

java ant batch-file exit-code

1
推荐指数
1
解决办法
6289
查看次数

我可以从运行regedit/s获得退出代码吗?

我有一个更改注册表值的脚本,在此之前,它使用regedit /e创建.reg文件来备份注册表项.

如果脚本第二次运行并且.reg备份文件存在,我问用户是否要将备份添加回注册表.

因为我不想混淆不知道发生了什么的用户以及他们可能无法理解的额外提示,我使用以下代码执行此操作而不询问用户是否要导入:

Set objShell = CreateObject("WScript.Shell")
objShell.Run"regedit /s "  & """" & BackupFile & """" , 0, True
Run Code Online (Sandbox Code Playgroud)

有没有办法从regedit命令中获取退出代码,以便regedit导入备份.reg文件成功或失败?

vbscript regedit exit-code

1
推荐指数
1
解决办法
3638
查看次数

不同的BASH退出状态代码

我正在用C86编写一个用于x86 Linux的程序.我希望使用自己的客户退出代码来帮助用户在程序未按预期执行时调试问题.

举个例子,假设程序是命令行计算器,我想返回以下退出代码并在手册页中记录它们;

  1. 计算完成并将结果打印到屏幕(正常操作) - 返回0
  2. 提供的操作数无效(基本上是语法错误!) - 返回1
  3. 其他一些错误 - 返回2
  4. 另一个错误 - 返回3

我看过几个像这样的页面让我觉得我无法返回任何我喜欢的退出代码.是否有任何官方规则(BASH或Linux标准/指南)我应该遵循这里,除了0 ==正常退出?

linux bash exit-code

1
推荐指数
1
解决办法
2190
查看次数

关闭时批量运行脚本

我的问题是当按下右上角的X来执行名为exit.exe的文件时,如何创建批处理脚本而不是关闭.

windows batch-file exit-code exit windows-7

1
推荐指数
1
解决办法
874
查看次数

你好世界退出代码

我刚用gcc编译了我的hello world c程序并在ubuntu中运行它.因为我通过emacs运行它,我得到了程序的退出代码:13.为什么13?我没有指定任何东西,为什么它没有默认为0?当我在最后放置一个退出函数时,我可以改变它,但我想知道这个默认值的重要性是什么.

码:

#include<stdio.h>

int main()
{
    printf("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)

exit-code

1
推荐指数
1
解决办法
133
查看次数

如何在程序退出D之前运行某些代码/功能?

假设我有等待用户输入的循环.如果用户按Ctrl + C,程序将正常退出.但是,在退出之前我想做几件事.一旦按下Ctrl + C并且程序即将退出,是否可以运行一个功能?

d exit-code exit

1
推荐指数
1
解决办法
79
查看次数

在while循环之后`$?`怎么可能不是一个会终止while循环的值?

我在bash函数中有这个代码片段:

while ! mkdir lock ; do
    inotifywait -t $WAIT_TIMEOUT -e delete_self lock
done
local es=$?
if (( $es != 0 )); then
    echo "Checkpoint A"
    exit $es
fi
Run Code Online (Sandbox Code Playgroud)

我认为检查点A完全无法访问(因为成功的mkdir肯定是while循环终止时执行的最后一个命令).

但是,我发现有时会到达检查点A. 这怎么可能,即使原则上也是如此?

bash exit-code built-in while-loop mkdir

1
推荐指数
1
解决办法
41
查看次数

Powershell自定义退出代码说明

我可以通过退出代码退出PowerShell应用程序:

exit 59
Run Code Online (Sandbox Code Playgroud)

如何使用自定义退出代码说明退出?

exit 59, "Somethings Wrong"
Run Code Online (Sandbox Code Playgroud)

powershell exit-code

1
推荐指数
1
解决办法
2304
查看次数