c写的程序被Killed,怎么了

c写的程序被Killed,怎么了,第1张

将一个函数写在一个文件里,然后再在另一个文件里用“include”包含这个文件。举个例子在文件c1.c里编一个函数:voidprintWord(){printf("Hello!world!")}再建立一个文件c2.c,文件开头写上#include"c1.c",就可以调用c1.c里的函数printword()了

有两种方式:

1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。

2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果。然后在外面就可以使用./xxx.py执行了。

因为在linux中,python啊shell这些程序都是普通的文本格式,都需要一种程序去解释执行它。要么调用的时候指定,要么在文件头指定。

OS:cent os 6.5

日志路径:/var/log/messages

服务器上跑的一个程序,发现报了Killed。查看/var/log/messages里的日志,发现以下报错:

[plain] view plain copy

Aug 11 16:28:11 kernel: Out of memory: Kill process 3080 (forward) score 559 or sacrifice child

Aug 11 16:28:11 kernel: Killed process 3080, UID 0, (forward) total-vm:1429064kB, anon-rss:1130444kB, file-rss:136kB

原来linux下也有内存OOM的处理,不同于android 杀掉报OOM的进程,linux是杀掉当前最占用内存的进程。

当Linux报OOM时,意味着整个系统的内存已经不足,如果不杀死进程的话,就会导致系统的崩溃。每个进程都会存有一个oom_score的参数,比如输出pid为988的oom_score:

[plain] view plain copy

cat /proc/988/oom_score

OOM Killer 会在系统报OOM的时候,杀死当前score最高的进程,一般情况也就是占用内存最大的进程。

解决方法:一是增加系统内存,二是优化进程,使其占用内存降低。三是可以使用oom_score_adj参数,这个参数会被计算入oom_score,可以避免进程被杀死(不推荐使用)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11551998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存