嗨,我有一个简单的程序使用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) 我正在使用System.exit(int)从java程序中抛出退出代码.当程序以这种方式退出时,我是否能够看到任何消息?我此刻什么也看不见.
我的.bat文件中有几个ant任务要执行.
我的.bat文件如下:
调用ant -buildfile task.xml target1
调用ant -buildfile task.xml target2
对于每个ant任务,它将执行一个java程序,程序将使用System.exit()返回退出代码.
我知道可以通过在ant配置中使用resultproperty来接收退出代码.
如何通过调用ant任务获取.bat文件中的退出代码?
我有一个更改注册表值的脚本,在此之前,它使用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文件成功或失败?
我正在用C86编写一个用于x86 Linux的程序.我希望使用自己的客户退出代码来帮助用户在程序未按预期执行时调试问题.
举个例子,假设程序是命令行计算器,我想返回以下退出代码并在手册页中记录它们;
我看过几个像这样的页面让我觉得我无法返回任何我喜欢的退出代码.是否有任何官方规则(BASH或Linux标准/指南)我应该遵循这里,除了0 ==正常退出?
我的问题是当按下右上角的X来执行名为exit.exe的文件时,如何创建批处理脚本而不是关闭.
我刚用gcc编译了我的hello world c程序并在ubuntu中运行它.因为我通过emacs运行它,我得到了程序的退出代码:13.为什么13?我没有指定任何东西,为什么它没有默认为0?当我在最后放置一个退出函数时,我可以改变它,但我想知道这个默认值的重要性是什么.
码:
#include<stdio.h>
int main()
{
printf("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud) 假设我有等待用户输入的循环.如果用户按Ctrl + C,程序将正常退出.但是,在退出之前我想做几件事.一旦按下Ctrl + C并且程序即将退出,是否可以运行一个功能?
我在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. 这怎么可能,即使原则上也是如此?
我可以通过退出代码退出PowerShell应用程序:
exit 59
Run Code Online (Sandbox Code Playgroud)
如何使用自定义退出代码说明退出?
exit 59, "Somethings Wrong"
Run Code Online (Sandbox Code Playgroud) exit-code ×10
bash ×3
java ×3
batch-file ×2
exit ×2
ant ×1
built-in ×1
d ×1
linux ×1
mkdir ×1
powershell ×1
regedit ×1
runtime.exec ×1
unix ×1
vbscript ×1
while-loop ×1
windows ×1
windows-7 ×1