Articles of 杀死

Ubuntu的Java:find一个特定的程序的PID和杀死程序

我试图做一个应用程序,检查这个特定的应用程序是否正在运行,然后在指定的时间后终止应用程序。 我打算获得应用程序的PID。 我怎样才能得到应用程序的PID? 谢谢

Linux,waitpid,WNOHANG,subprocess,僵尸

我作为守护进程运行我的程序。 父进程只等待subprocess,当它意外死了,fork再等待。 for (; 1;) { if (fork() == 0) break; int sig = 0; for (; 1; usleep(10000)) { pid_t wpid = waitpid(g->pid[1], &sig, WNOHANG); if (wpid > 0) break; if (wpid < 0) print("wait error: %s\n", strerror(errno)); } } 但是当subprocess被-9信号杀死时,subprocess就进入僵尸进程。 waitpid应该立即返回subprocess的PID! 但是waitpid在大约90秒后得到了PID号码, cube 28139 0.0 0.0 70576 900 ? Ss 04:24 0:07 ./daemon […]

最后一个分叉的孩子不会死

我有两个主要的过程分叉,从而创造两个孩子。 这两个孩子是这样互相配pipe的: ls | more 现在的问题是,第二个孩子永远不会死亡。 这是为什么? 什么时候pipe道中的最后一个孩子真的死了? 除去一个wait()调用显示ls | more的预期结果 ls | more但给出了一些更奇怪的行为(卡住terminal等)。 这是我的代码: int main(){ printf("[%d] main\n", getpid()); int pip[2], i; pipe(pip); /* CHILDREN*/ for (i=0; i<2; i++){ if (fork()==0){ /* First child */ if (i==0){ printf("[%d] child1\n", getpid()); close(1); dup(pip[1]); close(pip[0]); execlp("ls", "ls", NULL);} /* Second child */ if (i==1){ printf("[%d] child2\n", […]

Linux C捕获终止信号

我有一个使用套接字,数据库连接和类似的过程。 它基本上是一个在传感器数据和Web界面之间进行中继的服务器进程,因此,确保应用程序(如果遇难​​)正常终止非常重要。 我如何处理意外的exception,如segfaults(至less用于debugging),以及杀死信号,以便我可以closures任何连接,并停止任何线程运行,使进程不会留下任何混乱的使用?

在Windows上执行相当于“杀死进程树”的c ++

我们有一个c ++的任务,将分叉新的进程。 这个过程又可能有几个subprocess。 如果任务运行超过了分配的时间,我们将要杀死分叉的进程。 但是,我们不希望孤立它所产生的进程。 我们希望他们都死亡。 我已经使用过程资源pipe理器,它有一个“杀死进程树”选项,类似于Windows任务pipe理器的“结束进程树”,所以我猜/假设有一个公共API来做到这一点。 有没有人做过这个,或者知道对公共API的引用呢? Thx,Brett

如何使用VBScript来终止进程

我有这个VBScript代码来终止一个进程 Const strComputer = "." Dim objWMIService, colProcessList Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Process.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next 它对一些进程工作正常,但是当涉及到任何进程在SYSTEM下运行,它不能停止它。 是否有什么我需要添加杀死系统下的进程?