手机进程被莫名其妙失眠怎么回事被kill掉是怎么回事

3122人阅读
linux 应用程序编程(7)
&做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:
一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;
二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1124914次
积分:11070
积分:11070
排名:第1170名
原创:165篇
转载:135篇
评论:435条
由于发现原创文章,在未署名作者及出处的情况下被转载。在以后所有的原创文章开头我都会写明作者和出处。希望朋友们以后在转载本博客原创博文时注意标明文章作者及出处。
练武不练功,到老一场空
欢迎大家加入LINUX讨论群 群号
文章:10篇
阅读:89666
(1)(3)(2)(1)(1)(2)(3)(2)(1)(2)(3)(3)(4)(1)(2)(1)(5)(3)(2)(11)(2)(3)(8)(1)(2)(5)(1)(4)(3)(2)(6)(11)(6)(8)(11)(20)(6)(4)(17)(14)(2)(2)(1)(4)(4)(2)(23)(74)(2)新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
遇到一个问题,想请教高人。
用C++写的一个程序,运行一段时间后(约5.6分钟)就显示 “已杀死”,像被 kill 掉一样,但确实没有kill 它。系统没有core文件生成限制,但是也没有生成core文件。
程序的所有正常退出都有终端输出,可以进程结束时没有收到任何关于退出的输出。只在终端显示 “已杀死”,进程就终止了。
求高人指点。谢谢!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 80, 距离下一级还需 120 积分
论坛徽章:0
内存是不是挂太高了? 内存占用太高的话内核会&有选择性的随机&kill进程
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
怎么判断内存挂太高的情况?就是一个普通的程序啊,为什么这么特殊呢?
系统环境 Linux tjssmnweb 2.4.21-15.ELsmp #1 SMP Thu Apr 22 00:18:24 EDT
i686 i386 GNU/Linux
& && && && &gcc version 2.96
(Red Hat Linux 7.3 2.96-12
白手起家, 积分 146, 距离下一级还需 54 积分
论坛徽章:0
On linux, you can do below commands to monitor your process and find out why it exists
$ ps -ef | grep &process name&
$sudo strace -p &process ID&
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
谢谢。我试试。
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
没有strace命令。3楼有我的系统信息。谢谢!
富足长乐, 积分 5380, 距离下一级还需 2620 积分
论坛徽章:11
在gdb里面让这个程序跑起来,看看怎么被kill的
当然也可以在程序里面自定义sigaction,这样可以捕捉信号源,可以看看信号是来自内核还是其他进程
稍有积蓄, 积分 268, 距离下一级还需 232 积分
论坛徽章:0
查看一下系统日志
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
系统日志里只有
Jan 17 09:18:18 tjssmnweb sshd(pam_unix)[13892]: session opened for user ssmn by (uid=501)
Jan 17 09:23:55 tjssmnweb sshd(pam_unix)[14376]: session opened for user ssmn by (uid=501)
Jan 17 11:05:25 tjssmnweb sshd(pam_unix)[23306]: session opened for user ssmn by (uid=501)
Jan 17 11:22:03 tjssmnweb sshd(pam_unix)[24823]: session opened for user ssmn by (uid=501)
Jan 17 11:22:07 tjssmnweb sshd(pam_unix)[24865]: session opened for user ssmn by (uid=501)
Jan 17 11:24:41 tjssmnweb sudo(pam_unix)[25082]: au logname=ssmn uid=0 euid=0 tty=pts/8 ruser= rhost= user=ssmn
这样的信息。没有记录杀死我的程序的内容。请指教。
现已捕获杀死进程的信号为 SIGKILL。我的程序怎么做才能不让系统给我这个信号呢?请赐教,谢谢!
白手起家, 积分 31, 距离下一级还需 169 积分
论坛徽章:0
现已捕获杀死进程的信号为 SIGKILL。我的程序怎么做才能不让系统给我这个信号呢?请赐教,谢谢!

我要回帖

更多关于 莫名其妙的意思 的文章

 

随机推荐