标签: exit-code

如何获取有关失败的计划 AWS ECS 任务的指标/警报(基于退出代码)

我们设置了通过 CloudWatch Events / EventBridge 安排的 AWS ECS 任务。我们希望根据容器退出代码获得失败运行的指标和通知。

我们计划使用通过 CloudWatch Metrics 监控使用情况中的 FailedInitations 。

但是,指标中似乎没有看到非零任务退出代码。ECS 任务的退出代码在 AWS 控制台中被验证为非零,但指标仅包括“调用”和“触发规则”。我们之前在设置任务时遇到了 FailedInitations,并且缺少启动任务所需的策略,但非零退出代码似乎不会影响该指标。

难道只是 EventBridge 不提供非零容器退出代码的指标,还是我们可能会在设置中遗漏某些内容?

我们可以通过记录某些错误消息的任务来解决这个问题,但退出代码会更通用。

exit-code amazon-web-services amazon-ecs amazon-cloudwatch aws-event-bridge

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

从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
Run Code Online (Sandbox Code Playgroud)

有帮助吗?谢谢菲利波

linux ftp bash shell exit-code

10
推荐指数
2
解决办法
4万
查看次数

Apple LLVM编译器3.1错误

刚刚将Xcode更新为4.3,现在我无法构建我的应用程序.我收到这个错误:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 254
Run Code Online (Sandbox Code Playgroud)

还有其他人有这个问题吗?它可能只是一个编译设置,但我不知道在哪里看.

当然,错误包括整个堆栈转储,但为了简洁起见,我没有包括它.我希望有人知道"退出代码254"是什么.尝试搜索它但找不到任何东西.

这是整个输出:

CompileC /Users/aaron/Library/Developer/Xcode/DerivedData/iDB-cvvkmobzsecywdherzjesrjswdng/Build/Intermediates/iDB.build/Debug-iphonesimulator/Flexile.build/Objects-normal/i386/SCheckBox.o iDB/SCheckBox.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd "/Users/aaron/Dropbox/XCode Projects/iDB"
    setenv LANG en_US.US-ASCII
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -std=gnu99 -fobjc-arc -Wno-trigraphs -fpascal-strings -O0 -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wreturn-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -fexceptions -fasm-blocks -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.6 -g -Wno-conversion -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" …
Run Code Online (Sandbox Code Playgroud)

xcode exit-code clang

10
推荐指数
2
解决办法
2万
查看次数

Apache jsvc无法停止守护进程

我使用本机编译的jsvc来启动java守护进程.我在openSUSE 32位vm上运行它.代码实现了Apache的守护进程接口,我正在使用以下命令执行deamon.

./jsvc -home jre -errfile logs/jsvc.err -pidfile daemon.pid -cp <my_classpath> com.loader.loaderservice.LoaderDaemon
Run Code Online (Sandbox Code Playgroud)

它启动并运行没有问题.我可以作为普通用户和root用户启动守护进程.但是,当我去终止守护进程时,jsvc会终止进程而不是发出stop命令.

./jsvc -stop -home jre -outfile logs/jsvc.err -errfile logs/jsvc.err -pidfile daemon.pid -cp <my_classpath> com.loader.loaderservice.LoaderDaemon
Run Code Online (Sandbox Code Playgroud)

守护进程终止,但不执行任何关闭步骤(例如,它应该记录,标记数据库中的记录等).我在logs/jsvc.err文件中得到以下内容,并且它不会写任何其他日志:

Service exit with return value 143
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索错误后,我看到一些人都看到了同样的事情,但我无处可寻找一个好的解决方案(http://mail-archives.apache.org/mod_mbox/commons-dev/200401. mbox/%3CPine.GSO.3.96.1040105133739.23375A-100000@merlot.tel.uva.es%3E,http://www.tek-tips.com/viewthread.cfm?qid=1014679,HTTP://三比特. net/mail-archive/tomcat-users/msg03832.html).

更新: 使用Apache的窗口的服务启动器(procrun)我能够毫无问题地启动和停止服务.该问题似乎只与jsvc相关,并且仅在停止守护进程时才会出现.

更新2: 在仔细阅读了http://commons.apache.org/daemon/jsvc.html#Starting_jsvc后,我注意到我正在使用的停止标签通过我指定的pid文件发出了一个kill命令.似乎jsvc实际上并没有通过设计优雅地停止守护进程.这与我所看到的行为一致,因为非常详细的stop方法不会写出任何消息.

-stop        stop the service using the file given in the -pidfile option
Run Code Online (Sandbox Code Playgroud)

新问题:

  • 如果我的java main已经实现了Apache Daemon接口,那么如何在正在运行的守护进程上发出'stop'?
  • 我是否需要jsvc以外的东西(这似乎只对启动或杀死守护进程有用)?

apache daemon exit-code jsvc

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

设置Java退出代码而不退出

在具有大量关闭操作的高度并发程序中,想知道如何在不过早调用System.exit()的情况下设置退出代码?可以设置"当其他一切完成时执行此代码"方法?但我真的只想提前设置退出代码.

java shutdown exit-code

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

为什么ErrorLevel仅在||之后设置 操作员重定向失败?

在重定向失败时(由于文件不存在或文件访问不足),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
Run Code Online (Sandbox Code Playgroud)

但是,只要失败的重定向后面跟着||查询退出代码的条件连接运算符,ErrorLevel就会1意外地设置为:

>>> (call ) & rem // (reset `ErrorLevel`)

>>> (> "test.tmp" echo Text) || echo Fail
Access is denied.
Fail

>>> …
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file exit-code io-redirection

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

在bash中添加(收集)退出代码

我需要在脚本中依赖于几个单独的执行,并且不希望将它们全部捆绑在一个丑陋的'if'语句中.我想把退出代码'$?' 每次执行并添加它; 最后,如果这个值超过一个阈值 - 我想执行一个命令.

伪代码:

ALLOWEDERROR=5

run_something
RESULT=$?
..other things..

run_something_else
RESULT=$RESULT + $?

if [ $RESULT -gt ALLOWEDERROR ] 
   then echo "Too many errors"
fi
Run Code Online (Sandbox Code Playgroud)

问题:即使互联网声称不然,bash拒绝对待RESULT和$?作为整数.什么是正确的语法?

谢谢.

bash shell scripting exit-code

9
推荐指数
2
解决办法
9558
查看次数

如何使用退出代码退出程序:C#

如何使用C#中的退出代码退出程序?在java中它会System.exit(int code);

.net c# exit-code exit

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

强制终止进程时的进程退出代码

当我们使用任务管理器结束进程命令在Windows中终止进程时,进程是否仍会返回退出代码?如果是这样,它返回什么退出代码?谢谢

windows process exit-code

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

Kubernetes Pod 以退出代码 143 终止

我正在 Kubernetes 中使用容器化的 Spring boot 应用程序。但应用程序会自动退出并重新启动,并显示退出代码 143 和错误消息“Error”。

我不确定如何确定此错误的原因。

我的第一个想法是 Kubernetes 由于资源使用率过高而停止了容器,如此处所述但我看不到相应的 kubelet 日志。

有什么方法可以确定其原因/起源SIGTERM吗?也许来自 spring-boot 本身,或者来自 JVM?

jvm exit-code docker spring-boot kubernetes

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