检查 stdout 或 stderr
我在 shell 脚本中使用的二进制文件之一导致分段错误(返回值:139),
尽管我将 stdout 和 stderr 重定向到日志文件,但当我正在运行 shell 脚本。
是否可以将此消息从 Segfault 重定向到日志文件?
One of the binaries which I am using in my shell script is causing a segmentation fault (RETURN VALUE: 139)
And even though, I am redirecting both stdout and stderr to a logfile, the Segmentation Fault error messages is displayed in the terminal when I am running the shell script.
Is it possible to redirect this message from Segfault to a logfile ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您看到的分段错误消息是由运行程序的 shell 打印的。此行为因 shell 而异,因此您可以尝试一些操作(如果您坚持将分段错误消息从 shell 重定向获取到日志中)。
The Segmentation Fault message you see is printed by the shell that is running your program. This behavior varies from shell to shell, so a few things you could try (if you insist on getting the segmentation fault message into your logs from shell-redirects).
好吧,我正在回答我自己的问题..:)
我在这里找到了答案
如何在 Fortran 90 程序中抑制由于 SIGSEGV 或 SIGFPE 导致的输出?
技巧是
在 shell 脚本中添加。
这会将所有消息从 shell 重定向到日志文件
Well, I am answering my own question.. :)
I found the answer here
How can I suppress the output due to a SIGSEGV or a SIGFPE in a Fortran 90 program?
The trick is to add
in the shell script.
This will redirect all the messages from the shell to a log file
尝试
这里有各种关于 I/O 重定向的示例, 你可以看看
这个讨论 还有
try
there are various exampls on I/O redirection here, have a look
You can take a look at this discussion as well