Linux程序进程被杀,日志突然中止的问题排查及解决

Դhttp://www.6cu.com

ߣ外链网站

16

2021-03-25 22:58:31

     Linux程序进程被杀,日志突然中止,可以考虑是否因为程序占用内存过高,导致系统内存不足,为避免系统崩溃,系统寻找内存占用最大的进程kill掉。

     也可能存在运行程序时没有使用nohup ( no hang up) command &将进程提交到后台运行,一旦控制台关闭,任务进程就会停止运行。

     问题排查:

     1、排查是否因为程序问题导致系统内存占用过高而被系统主动杀死,通过查看Linux 系统日志的方式查看。

     如果日志中存在 Out of memory: Kill process等关键词则说明进程被系统主动杀死。

     2、对应没有使用nohup command &的情况

     排查在Linux环境下运行程序时有没有使用nohup command &命令,将进程提交Linux后台中运行,并且在使用nohup命令时,退出服务器终端连接客户端时有没有使用 exit命令正常退出。

     解决:

     1、对于程序占用系统内存太大,导致系统主动杀死程序进程的情况,应该主动排查程序中代码是否存在迭代,循环或者内存泄露的可能,从代码的角度对程序重构。

     2、对于没有正确使用nohup命令导致的进程异常退出,参考如下命令正确的使用nohup将程序放Linux后台中运行

     补充命令 ctrl + z Ctrl+c

ctrl + z

可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

Ctrl+c

终止前台命令。

jobs

查看当前有多少在后台运行的命令。

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

     原文链接:https://blog.csdn.net/ispringmw/article/details/112719262


佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部