问题标签 [exitstatus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 为什么我的脚本在命令后突然退出?
我正在尝试按照以下说明为 Dash 生成文档集:http: //kapeli.com/docsets。问题是,脚本在 wget 之后不会继续,并且似乎不会引发任何错误。当我将脚本复制到终端时,一切正常。
我使用的是 MacOS 10.8.4 和默认的 bash。
我查看了其他帖子,例如My shell script stop after exec但我没有exec
在这里使用。
为什么脚本会退出?
bash - 如何跟踪 bash 脚本 - 退出状态及其失败的原因
有时我需要像这样运行命令:
超过大文件(2-32 GB 大小)。我在晚上启动命令,当我早上来的时候,output.txt 有时是空的,并且进程不再运行。
请问,我怎样才能跟踪正在发生的事情?为什么以及何时我的命令失败了?我知道管道正在工作,因为有时它只是成功完成。
非常感谢!
更新:我现在认为我的进程已被终止,因为我在运行此计算时建议服务器仅用于交互式使用。如果这是真的,我只能从日志文件中看到它没有成功 - 还没有完成。
有没有办法找出我的进程实际上被杀死了?谢谢。
executable - 是否有任何保留空间形式的自定义应用程序错误代码?
我们需要定义一些特定于应用程序的错误代码(退出状态)。我们的用例:卸载程序调用应用程序进行在线停用,这可能由于多种原因而失败(没有互联网,内部服务器错误,...)。是否为应用程序特定的错误代码保留任何时间间隔,因此没有任何机会干扰?
谢谢
linux - linux命令返回的退出状态1的含义
linux命令返回的退出状态1是什么意思?像 127 退出状态表示“找不到命令”。
我访问过http://linux.die.net/abs-guide/exitcodes.html页面,是不是表示退出状态 1 没有特别的意义?
bash - 速记增量符号的 Bash 退出状态
我注意到bash符号的返回状态明显不一致。
考虑以下(( ))
然而,使用其他众所周知的速记增量符号会产生:
如果set -e
脚本中有内置函数,则第二种表示法将导致脚本退出,因为((A++))
返回的退出状态非零。这个问题或多或少在这个相关问题中得到了解决。但这似乎并不能解释这两种符号的退出状态的差异,((A=A+1))
并且((A++))
((A++))
1
当且仅当A
equals似乎返回0
。(免责声明:我没有做过详尽的测试。在 bash 4.1.2 和 4.2.25 中测试过)。所以最后一个问题归结为:
为什么A=0; ((A++))
返回1
?
tee - tee>(...) 的退出状态
我正在执行:
我希望Command2根据grep的退出状态执行,而在当前配置中,它是根据tee的结果执行的。
据我所知 pipefail 和 pipestatus 在这里不起作用(如果我错了,请纠正我)。
基于 Alexej Answer 修改 Origian 问题
我也试过Command1 | tee >(grep sth || Command2)
了,这适用于我原来的问题,但是当我试图在子shell中设置我的测试状态时;例如,Command 1 | tee>(grep sth || Result="PASSED")
以后可以访问我代码的其他块中的结果。所以我还是有问题。
谢谢
c++ - waitpid 的早期调用未正确收集退出状态
我正在使用以下代码来分叉一个进程并发出信号让它稍后停止。
此代码打印(如预期):
给测量过程一些时间来清理。
完成测量。
测量过程返回 42。
但是,如果我在 kill 语句之后省略 sleep 语句,我会得到:
给测量过程一些时间来清理。
测量过程由信号 80 终止。
完成测量。
为什么结果取决于我是否等待三秒钟?waitpid 不应该等到孩子回来吗?这对我的应用程序(现在)并不重要,但我想了解如何正确地做到这一点。我想通知子进程停止,然后等到它“正确”完成。
谢谢你的帮助,
卢茨
multithreading - 如何获取线程的退出状态
我正在编写一个 perl 脚本来从父进程获取每个线程的退出状态。如果我使用 join() 我无法获得线程正确的退出状态。
如何从父进程捕获每个线程的退出状态?
这是代码
bash - Bash 脚本中命令的退出状态始终为真
我正在尝试在 bash 中运行命令( gerrit query )并将其分配给变量。我正在使用这是一个 bash 脚本文件,并且我想处理如果命令抛出错误(即如果 gerrit 查询失败)的情况,我应该能够处理相同的情况。
例如:
我知道我可以使用 $? 检查最后的退出状态?在 bash 中,但对于上述情况,对变量的赋值会覆盖早期的退出状态(即 gerrit 查询失败状态),并且上述命令永远不会失败。它总是正确的。
你能告诉我是否有办法处理命令的退出状态,即使它被分配给 bash 中的变量。
更新:
我在这里的假设是错误的,即分配导致退出状态被覆盖,而查尔斯的例子和他的回答中的解释是正确的。退出状态被覆盖的真正原因是我将上述命令的输出传送到 sed 脚本,这是覆盖退出状态的罪魁祸首。我发现以下内容帮助我解决了这个问题。https://unix.stackexchange.com/questions/14270/get-exit-status-of-process-thats-piped-to-another/73180#73180 在 Bash 中管道输出和捕获退出状态
我正在尝试的完整命令。
变量=ssh -p $GERRIT_PORT_NUMBER $GERRIT_SERVER_NAME gerrit query --current-patch-set $PATCHSET_ID | sed 's/message//'
makefile - 启动服务器,运行测试,停止服务器
我有一个 Makefile 目标,如下所示
这就是我正在做的事情:
- Java 命令启动 Amazon DynamoDB 的本地实例。
- 我给它 3 秒开始
- 我运行我的集成测试
- 我杀了数据库
我想要的是杀死数据库,不管测试是否通过。为此,我想我需要 test 命令的退出状态并返回它,无论是测试失败还是成功。
正在发生的事情是,如果测试通过,则数据库被正确杀死,如果测试失败,则不是。
我在文档中读到,如果它产生非零退出状态,您可以-
在命令前面添加一个忽略它的命令,make
如果我这样做的问题是我不知道测试是否失败,因为$?
将始终返回 0。
在这种情况下,通常的做法是什么?如果可以解决我的问题,我可以将目标拆分为更多目标。
谢谢你。