标签: kill

Unix kill命令是否确保动态分配的内存将正确返回?

我在新分配的项目中发现了一堆脚本,即"关闭"脚本.他们只是做一些基本搜索并运行Unix kill命令.他们有什么理由不应该这样关闭这个过程吗?这是否确保动态分配的内存将正确返回?还有其他负面影响吗?我在直觉下操作,这是终止进程的最后手段.

unix operating-system memory-management kill

4
推荐指数
3
解决办法
4439
查看次数

C#如何杀死父线程

父母有几个子线程.

如果用户单击停止按钮,则应使用所有子线程终止父线程.

//calls a main thread           
 mainThread = new Thread(new ThreadStart(startWorking));
 mainThread.Start(); 
////////////////////////////////////////////////
   startWorking()
{
    ManualResetEventInstance                    =   new ManualResetEvent(false);
    ThreadPool.SetMaxThreads(m_ThreadPoolLimit, m_ThreadPoolLimit);

    for(int i = 0; i < list.count ; i++)
   {        

        ThreadData obj_ThreadData   =   new ThreadData();
        obj_ThreadData.name      =   list[i];

        m_ThreadCount++;             

        //execute 
        WaitCallback obj_waitCallBack = new WaitCallback(startParsing);

        ThreadPool.QueueUserWorkItem(obj_waitCallBack, obj_ThreadData);
    }
  ManualResetEventInstance.WaitOne();
}
Run Code Online (Sandbox Code Playgroud)

我想杀死mainThread.

c# multithreading kill parent

4
推荐指数
1
解决办法
3042
查看次数

按名称和用户终止流程

我试图找出是否有办法按名称和用户杀死所有进程.例如,我想杀死用户myuser运行的所有Java实例.

从我做的那一刻起:

$ pgrep -u myuser java
2185
3281
3413
3504
22534
26174
27554
Run Code Online (Sandbox Code Playgroud)

它给出了mysuer运行java的pid列表.然后我个别杀了每个pid.有一个更好的方法吗?

提前致谢!

kill process

4
推荐指数
1
解决办法
5705
查看次数

杀 - 它会立即杀死这个过程吗?

到底kill是做什么的?

我有一个父进程,它一个接一个地创建100(作为示例)子进程.在任何孩子的工作结束时,我杀了孩子,kill(pid_of_child, SIGKILL)我在ps输出中看不到.但是如果父进程出现问题并且我从父进程退出exit(1)(此时只有1个子进程- 我可以检查它ps),那时我看到很多<defunct>进程ppidpid父进程的.

怎么可能?没有kill彻底杀死孩子的过程?

c freebsd kill process defunct

4
推荐指数
2
解决办法
889
查看次数

如何在JAVA中捕获系统调用?

当我的程序被kill来自操作系统的命令杀死时,我想捕获异常(或其他).

我想在关闭之前将消息打印到日志文件.

有办法吗?

谢谢

java exception kill try-catch system-calls

4
推荐指数
1
解决办法
305
查看次数

使用请求和多处理时出现奇怪的问题

请检查此python代码:

#!/usr/bin/env python
import requests
import multiprocessing
from time import sleep, time
from requests import async

def do_req():
    r = requests.get("http://w3c.org/")

def do_sth():    
    while True:
        sleep(10)

if __name__ == '__main__':        
    do_req()
    multiprocessing.Process( target=do_sth, args=() ).start()
Run Code Online (Sandbox Code Playgroud)

当我按Ctrl-C(运行后等待2秒 - 让Process运行)时,它不会停止.当我将导入订单更改为:

from requests import async
from time import sleep, time
Run Code Online (Sandbox Code Playgroud)

它在Ctrl-C之后停止.为什么它不会在第一个例子中停止/杀死?

这是一个错误还是一个功能?

笔记:

  • 是的我知道,我在这段代码中没有使用异步,这只是剥离代码.在实际代码中我使用它.我这样做是为了简化我的问题.
  • 按Ctrl-C后,会运行一个新的(子)进程.为什么?
  • multiprocessing.__version__ == 0.70a1,requests.__version__ == 0.11.2,gevent.__version__ == 0.13.7

python linux kill multiprocessing python-requests

4
推荐指数
1
解决办法
1142
查看次数

重启进程

我想重启一个程序.
我找到了这个过程并调用了Kill方法,然后我再次运行它:
process.Kill();
的Process.Start();

它会停止但不会启动.
此外,如果我把退出事件,它永远不会发生.
有什么问题?

c# kill process

4
推荐指数
1
解决办法
5354
查看次数

如何在bash中快速杀死java进程?

在Linux机器上,我最多运行3个java jar文件.如何使用一个命令快速杀死所有3个?

通常我会:

ps ex - 让进程运行

然后找到进程ID然后执行:

kill -9 #### #### ####

有什么方法可以缩短这个过程吗?我眯着眼睛眯着眼睛看着过程ids.

我的脚本执行以下操作:

nohup ./start-gossip &

nohup ./start &

nohup ./start-admin &
Run Code Online (Sandbox Code Playgroud)

有没有办法在不查找的情况下获取每个进程ID?

bash kill

4
推荐指数
2
解决办法
2万
查看次数

如何使用C在Linux上以编程方式杀死进程树

我正在尝试编写一个生成子进程的函数,让它运行一段时间然后如果它还没有完成就杀死它:

int sysExecTimeout(const char * exePath, int timeoutSec);
Run Code Online (Sandbox Code Playgroud)

在功能方面,我使用forkexecl产卵的孩子,而且,当它超时,我用kill(pid, SIGTERM)kill(pid, SIGKILL)2秒后,为保证儿童死亡:

pid_t pid = fork();

if(pid == 0) {
    execl("/bin/sh", "sh", "-c", exePath);
    exit(127);
} else if(pid != -1) {
    // timeout code
    if(timeout) {
        kill(pid, SIGTERM);
        sleep(2);
        kill(pid, SIGKILL);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Linux,似乎当父进程终止时,子进程不会自动被杀死.所以这两个kill调用只会终止/bin/sh进程并让exePath命令继续运行,因为它是一个子进程/bin/sh.

我正在尝试编写sysExecTimeout函数,以便它杀死整个进程树pid,其中pidPID来自pid = fork()

我需要这个,因为该exePath命令将产生其他命令,这些命令也可能产生其他命令,这些命令可能会卡住并消耗资源.

我无法控制exePath执行的二进制文件/脚本,因此我无法在其中编写自己的parent-dies-so-kill-the-children逻辑.

我尝试使用kill(0, SIGTERM),几乎完成了这项工作,除了它也杀了我自己的进程:)

我想知道是否有一个标志我可以在C中以编程方式打开,说"嘿,我死的时候,带走所有的孩子并杀死他们,并为他们的孩子递归重复",这样整个过程树就从那个程序开始死(假设可以遵循PID/PPID链). …

c linux tree kill process

4
推荐指数
1
解决办法
2万
查看次数

杀死Powershell中指定用户运行的进程

只是想知道如何杀死由指定用户运行的具有相同名称的所有进程。例如,我可以有多个由不同用户运行的program.exe。我可以使用:

get-process program.exe | kill
Run Code Online (Sandbox Code Playgroud)

杀死所有人 但是我只想杀死由指定用户运行的那些实例。有方便的方法吗?

powershell kill process

4
推荐指数
2
解决办法
1万
查看次数