草庐IT

oom-kill

全部标签

Python 多处理 : Killing a process gracefully

是importmultiprocessingimportscheduledefworker():#dosomestuffdefsched(argv):schedule.every(0.01).minutes.do(worker)whileTrue:schedule.run_pending()processs=[]....p=multiprocessing.Process(target=sched,args)....processs.append(p)forpinprocesss:p.terminate()优雅地杀死一系列进程?如果不是,最简单的方法是什么?目标是将配置文件重新加载到内存

linux - 尝试终止进程时出错 -- "kill: pid: arguments must be process or job IDs"

我正试图在我的服务器上杀死Sphinx,以便我可以重新启动它。我尝试使用此命令查找PID:psax|grep"searchd"打印出来的是:1483?S00:00/usr/local/bin/searchd--config/path/to/sphinx.conf1484?Sl20:51/usr/local/bin/searchd--config/path/to/sphinx.conf1523?S0:00/usr/local/bin/searchd--config/path/to/another/sphinx.conf1524?Sl20:35/usr/local/bin/searchd-

linux - 尝试终止进程时出错 -- "kill: pid: arguments must be process or job IDs"

我正试图在我的服务器上杀死Sphinx,以便我可以重新启动它。我尝试使用此命令查找PID:psax|grep"searchd"打印出来的是:1483?S00:00/usr/local/bin/searchd--config/path/to/sphinx.conf1484?Sl20:51/usr/local/bin/searchd--config/path/to/sphinx.conf1523?S0:00/usr/local/bin/searchd--config/path/to/another/sphinx.conf1524?Sl20:35/usr/local/bin/searchd-

c - kill 和 signal 的准确性如何?

测试一些POSIX代码,我注意到信号的使用不是很准确。这是客户端的示例代码:#include#include#include#include#include#defineMESSAGE"hello\n"#definePAUSE15000intmain(intargc,char**argv){intpid=atoi(argv[1]);size_ti;intj;for(i=0;i服务器代码如下:#include#include#include#includestaticunsignedcharindex;staticvoidinc(intsig){++index;(void)sig;}st

c - kill 和 signal 的准确性如何?

测试一些POSIX代码,我注意到信号的使用不是很准确。这是客户端的示例代码:#include#include#include#include#include#defineMESSAGE"hello\n"#definePAUSE15000intmain(intargc,char**argv){intpid=atoi(argv[1]);size_ti;intj;for(i=0;i服务器代码如下:#include#include#include#includestaticunsignedcharindex;staticvoidinc(intsig){++index;(void)sig;}st

linux - Linux OOM killer 中的默认 oom_adj 值

我正在尝试了解Linux系统(准确地说是Fedora15/16)进程的oom_adj的默认值。我看到的是一堆进程设置为-17,即不杀,而其他进程有不同的值(通常为0,有时为-13)。有点违反直觉,它看起来好像用户进程比系统进程多使用-17。任何人都可以阐明这一点吗?我在某处缺少配置文件吗?谢谢! 最佳答案 除非您专门设置它,否则它将默认为它从中派生出的进程的值。一些进程,比如openssh,显式更改其可执行文件中的值。openssh的合理性在于,当您处于低内存状态时,您希望能够通过ssh进入计算机并终止某些进程。对于其他可执行文件以

linux - Linux OOM killer 中的默认 oom_adj 值

我正在尝试了解Linux系统(准确地说是Fedora15/16)进程的oom_adj的默认值。我看到的是一堆进程设置为-17,即不杀,而其他进程有不同的值(通常为0,有时为-13)。有点违反直觉,它看起来好像用户进程比系统进程多使用-17。任何人都可以阐明这一点吗?我在某处缺少配置文件吗?谢谢! 最佳答案 除非您专门设置它,否则它将默认为它从中派生出的进程的值。一些进程,比如openssh,显式更改其可执行文件中的值。openssh的合理性在于,当您处于低内存状态时,您希望能够通过ssh进入计算机并终止某些进程。对于其他可执行文件以

linux - `--oom-kill-disable` 对 Docker 容器有什么作用?

我了解到dockerrun-m256m--memory-swap256m将限制一个容器,以便它最多可以使用256MB的内存并且没有交换空间。如果它分配更多,那么容器中的进程(不是“容器”)将被杀死。例如:$sudodockerrun-it--rm-m256m--memory-swap256m\stress--vm1--vm-bytes2000M--vm-hang0stress:info:[1]dispatchinghogs:0cpu,0io,1vm,0hddstress:FAIL:[1](415)显然,其中一名工作人员分配的内存超出了允许范围,并收到了SIGKILL。请注意,父进程保持

linux - `--oom-kill-disable` 对 Docker 容器有什么作用?

我了解到dockerrun-m256m--memory-swap256m将限制一个容器,以便它最多可以使用256MB的内存并且没有交换空间。如果它分配更多,那么容器中的进程(不是“容器”)将被杀死。例如:$sudodockerrun-it--rm-m256m--memory-swap256m\stress--vm1--vm-bytes2000M--vm-hang0stress:info:[1]dispatchinghogs:0cpu,0io,1vm,0hddstress:FAIL:[1](415)显然,其中一名工作人员分配的内存超出了允许范围,并收到了SIGKILL。请注意,父进程保持

linux - kill -9 和生产应用

哪个问题会导致生产应用程序中的kill-9(准确地说是在linux中)?我的应用程序执行一些定期工作,停止这些工作需要很长时间,而且我不在乎某些工作是否会中止-工作可以通过新流程完成。那么我是否可以使用kill-9立即停止它,否则会导致严重的操作系统问题?例如,Unicorn,将其用作正常工作程序:Whenyourapplicationgoesawry,aBOFHcanjust"kill-9"therunawayworkerprocesswithoutworryingabouttearingallclientsdown,justone.但是这个article声明:The-9(orKIL