标签: exit-code

在 Makefile if 语句中获取退出代码 1

如果该语句不正确,我试图获取 ifdef 语句上的退出代码,但我尝试使用 exit 1 和 $(call exit 1)

当在以下代码中使用第一个时,我得到“Makefile:11:*缺少分隔符。停止。”

...

ifdef PACKAGE
    PACKAGEDIR = $(HOME)/$(PACKAGE)
else
    exit 1
endif
Run Code Online (Sandbox Code Playgroud)

...

通过使用$(call exit 1),我没有得到任何错误,但 makefile 仍然继续执行。我想要完成的是在 else 上退出 Makefile,错误代码为 1

谢谢

makefile exit-code

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

程序退出状态和$?

我读过的《C++ Primer》书上是这么说的

从 main 返回的值以系统相关的方式访问。在 UNIX 和 Windows 系统上,远程执行程序时必须发出适当的 echo 命令。在 UNIX 上,我们通过 echo $? 获取状态

所以,如果程序是

int main ()
{
    return -88;
}
Run Code Online (Sandbox Code Playgroud)

为什么echo $?不退货呢?(上面印有 168 echo

c++ exit-code

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

How to catch rake task exit status in another rake task

Problem

I have something like this:

task :fail do
  exit 111
end

task :run_fail_and_succeed do
  begin
    Rake::Task['knapsack:fail'].invoke
  rescue
    exit 0
  end
end
Run Code Online (Sandbox Code Playgroud)

我想运行任务:fail并处理它的退出状态。比退出0。我怎样才能做到这一点?

笔记:

  1. 它不能异步/并行/在后台运行。:fail必须在之前完成:run_fail_and_succeed
  2. 不仅以 0 退出会很好,而且可以真正处理这个状态代码,所以我可以根据它的值做不同的事情

ruby rake exit-code exitstatus rake-task

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

我的服务器退出代码137

我使用C++ 11,boost :: asio和HDF5编写了一个C++服务器/客户端对.服务器运行正常一段时间(2天),然后它停止了代码137.因为我执行了无限循环的服务器,它重新启动.

不幸的是,我的错误日志没有提供足够的信息来理解问题.所以我一直试图理解这段代码的含义.似乎已达成共识,这意味着它是一个错误128+9,9意味着程序被杀死了kill -9.现在我不确定为什么会发生这种情况.我需要帮助才能找到答案.

通过进一步阅读,我发现它可能已被系统杀死,因为它超过了某个允许的执行时间,因此系统将其杀死.现在这不太可能,因为我的linux服务器是由我的大学提供的,所以他们可以应用某种安全性来做到这一点.我读到了timeoutlinux中所谓的内容.我的第一个问题是:我怎么知道这是否是问题的原因?

我的第二个问题是:我应该检查什么才能理解这个问题?你会怎么做?请指教.

如果您需要任何其他信息,请询问.

谢谢.

c++ linux error-code exit-code boost-asio

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

echo $怎么样?工作?

我正在编写一些PowerShell脚本来进行一些构建自动化.我发现这里回声$?返回true或false,具体取决于之前的语句.我刚刚发现echo是Write-Output的别名.写主机$?也有效.但我还不清楚这是多少钱?作品.有人可以说一些关于这个的话.正在搜索echo $?在网上并没有给我太多.

error-handling powershell exit-code automatic-variable

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

如果调用的命令执行“exit”,如何避免 Windows cmd 终端退出?

在 Windows cmd 终端中,通过 cmd,我调用命令脚本 (.cmd),但其中一些脚本执行时exit [code]没有/B,因此我的 Windows 终端被终止。

exit如果调用的命令在没有 的情况下执行,如何避免退出 Windows cmd 终端/B

cmd batch-file exit-code exit

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

如何直接从构造函数结束C++代码?

如果满足某个条件,我希望我的C++代码停止运行并进行适当的对象清理; 在类的构造函数中.

class A {
public:
    int somevar;
    void fun() {
        // something
    }
};

class B {
public:
    B() {
        int possibility;
        // some work
        if (possibility == 1) {
            // I want to end the program here
            kill code;
        }
    }
};

int main() {
    A a;
    B b;
    return 0;
}    
Run Code Online (Sandbox Code Playgroud)

如何在此时终止我的代码进行适当的清理.众所周知,std::exit不执行任何类型的堆栈展开,堆栈上没有活动对象会调用其各自的析构函数来执行清理.所以std::exit不是一个好主意.

c++ exit-code exit c++11 c++14

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

exit(1) 没有给我 1 作为退出值?

为什么当我在 c 中的函数中执行此代码时

int Pandoc(char *file)
{

    //printf("Pandoc is trying to convert the file...\n");

    // Forking
    pid_t pid;
    pid = fork();

    if (pid == -1)
    {
        perror("Fork Error");
    }
    // child process because return value zero
    else if (pid == 0)
    {

        //printf("Hello from Child!\n");
        // Pandoc will run here.

        //calling pandoc
        // argv array for: ls -l
        // Just like in main, the argv array must be NULL terminated.
        // try to run ./a.out -x -y, it will work …
Run Code Online (Sandbox Code Playgroud)

c shell exit-code exit

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

在 Python 3 中,使用 Pytest,我们如何测试 Python 程序的退出代码:exit(1) 和 exit(0)?

我是 python 中 Pytest 的新手。

我面临一个棘手的场景,我需要使用 Pytest 模块测试退出代码 - exit(1) 和 exit(0) 。下面是python程序:

 def sample_script():
     count_file  = 0
     if count_file == 0:
        print("The count of files is zero")
     exit(1)
     else:
         print("File are present")
     exit(0)
Run Code Online (Sandbox Code Playgroud)

现在我想测试上述程序的退出代码 exit(1) 和 exit(0) 。使用 Pytest 我们如何构建测试代码,以便我们可以测试或资产函数 sample_script 的退出代码?

请帮我。

python function exit-code pytest python-3.x

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

Bash:如何在使用微调器时获取命令的退出代码?

在 bash 脚本中,我有一个长时间运行的命令(rsync例如),有时会暂时不显示输出,所以我想做两件事:

  1. 在该命令上使用微调器来显示脚本没有冻结(即我们只是在等待输出);和,

  2. 完成后获取长时间运行的命令的退出状态,以便稍后在脚本中进行进一步测试。

但问题是,我不太了解将进程发送到后台的处理方式,以及以这种方式处理退出代码的方式,所以我不确定如何进行这项工作。

这是我到目前为止所拥有的,感谢@David C. Rankin的微调器:

#!/bin/bash

spinner() {
    local PROC="$1"
    local str="${2:-'Copyright of KatworX© Tech. Developed by Arjun Singh Kathait and Debugged by the ?Stack Overflow Community?'}"
    local delay="0.1"
    tput civis  # hide cursor
    printf "\033[1;34m"
    while [ -d /proc/$PROC ]; do
        printf '\033[s\033[u[ / ] %s\033[u' "$str"; sleep "$delay"
        printf '\033[s\033[u[ — ] %s\033[u' "$str"; sleep "$delay"
        printf '\033[s\033[u[ \ ] %s\033[u' "$str"; sleep "$delay"
        printf '\033[s\033[u[ | ] %s\033[u' "$str"; …
Run Code Online (Sandbox Code Playgroud)

bash exit-code background-process wait

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