ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

应用启动后立马自动停了怎么处理

2021-04-02 16:01:34  阅读:166  来源: 互联网

标签:输出 启动 dev 立马 dmesg 自动 日志 null 控制台


在开发中我们经常会遇到测试或生产环境代码启动不了的情况。遇到这总情况大致可以用以下三步处理方式:

1.首先看有没有日志输出

查看应用输入的log日志,如果有对应log的日志可以对症下药。
在这里插入图片描述

2.查看控制台日志

如果没有log日志,说明应该可能还没有完全启动完成,这时候不一定有日志输出。那么就需要查看控制台日志了。

一般我们会运行一个启动脚本,这个时候修改一些启动参数后即可看到控制台输出。
在这里插入图片描述
一般来说生产/测试的运行信息不会输出控制台,需要修改脚本才可看到输出到控制台的信息。

简单介绍下 >>/dev/null 2>&1 &

1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt
2:/dev/null 代表空设备文件, 所有写入它的内容都会永远丢失
3:2> 表示stderr标准错误
4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
5:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"
6:&表示后台运行

因此,>/dev/null 2>&1 也可以写成“1> /dev/null 2> &1”

那么本文标题的语句执行过程为:
1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 :接着,标准错误输出重定向 到 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
然后后台运行

因此我们想要看到控制台信息
只要将 >>/dev/null 2>&1 去掉即可
有 >>/dev/null 2>&1 & 命令时,控制台没有任何信息
在这里插入图片描述
去掉后可以看到控制台输出了
在这里插入图片描述

3.查看linux错误日志

如果错误日志还是没有输出,但是程序还是突然暴毙,那么就要看看是不是linux环境的问题了。
这时候运维神命令 dmesg就可以上场了。

dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定您的服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

dmesg -T | grep java

在这里插入图片描述
这个例子中发现由于使用内存超过了容器设定,被容器kill掉了。

标签:输出,启动,dev,立马,dmesg,自动,日志,null,控制台
来源: https://blog.csdn.net/AndCo/article/details/115399877

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有