标签: kill

Mac OS X:从Cocoa应用程序中杀死/退出整个流程树的最快方法

我知道有很多问题和答案,但我正在寻找一个有效而强大的解决方案.我需要在Cocoa应用程序中杀死一个进程及其所有子进程.我得到了进程ID,我要编写的代码就是执行kill命令

kill -- -<parent PID>
Run Code Online (Sandbox Code Playgroud)

从我的应用程序... ...但这对我来说似乎非常hacky和残酷.是不是有更好的解决方案?除非我自己构建流程树表示,否则Carbon的KillProcess()及其流程管理器朋友似乎没有多大帮助.我错过了什么吗?

我还有一些代码可以根据PID发送Quit Apple Event.能够将其发送到父进程定义的树中的每个进程,自下而上更好.但那只是一件好事.第一个问题的答案得到了"重点".

macos cocoa macos-carbon kill

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

我只是无法杀死Java线程

我有一个线程,使用不同的代理从Internet下载一些图像.有时会挂起,不能以任何方式杀死.

public HttpURLConnection uc;
public InputStream in;

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("server", 8080));
URL url = new URL("http://images.com/image.jpg");
uc = (HttpURLConnection)url.openConnection(proxy);
uc.setConnectTimeout(30000);
uc.setAllowUserInteraction(false);
uc.setDoOutput(true);
uc.addRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
uc.connect();

in = uc.getInputStream();
Run Code Online (Sandbox Code Playgroud)

当它挂起时,它会冻结在该uc.getInputStream()方法上.我做了一个计时器,如果它的运行时间超过3分钟就试图杀死它.我试过.terminate()这个帖子.没有效果.我尝试uc.disconnect()从主线程.该方法也挂起并与它一起,主线程.我试过了in.close().没有效果.我试过uc=null,in=null希望有一个异常将结束线程.它一直在运行.它从未通过该uc.getInputStream()方法.

在我的上一次测试中,线程在收到所有上述命令(或各种组合)后持续超过14小时.我不得不杀死Java进程来阻止线程.

如果我只是忽略该线程,并将其实例设置为null,则该线程不会死亡并且不会被垃圾收集器清除.我知道,因为如果我让应用程序运行了几天,那么Java进程会占用越来越多的系统内存.在3天内,我的8Gb系统RAM占了10%.

什么都不可能杀死一个线程?

java multithreading kill

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

C#查杀一个帖子

在我的应用程序中,我有一个持续运行的线程.通过使用Thread.Sleep(),该函数每10分钟执行一次.

我需要能够在用户单击按钮时终止此线程.我知道Thread.Abort()不可靠.我可以使用一个变量来停止线程,但是因为它正在休眠,所以在线程杀死之前可能还需要10分钟.

有任何想法吗?

.net c# multithreading sleep kill

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

C#catch kill命令

我怎样才能捕获windows taskkill命令以防止它?

windows kill

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

完成后杀死我的申请

电话结束后如何杀死我的应用程序?

(我可以在HTC的手机上看到我的应用,但我还是完成了那个活动)

android kill

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

如何从主线程中杀死Parallel.ForEach生成的所有线程?

这是场景:

我有一个正在运行的Windows服务.OnStart()它设置了一个调用函数的计时器(让我们调用它ProcessEvent()).里面的代码ProcessEvent是一个关键部分,所以只有一个线程可以执行以下操作:

private void ProcessEvent(object sender, ElapsedEventArgs e)
{
    lock(lockObj)
    {
        string[] list = GetList();
        Parallel.ForEach(list, item => { ProcessItem(item) });
    }
}
Run Code Online (Sandbox Code Playgroud)

ProcessItem 可能需要很长时间.

现在当服务停止时,我OnStop()当前只是停止并处理计时器.但是我注意到即使在服务停止后仍然存在仍在运行的线程ProcessItem().

那么我怎样才能杀死这个程序产生的所有正在运行的线程(主要是由那些产生的线程,Parallel.ForEach还有任何等待锁定的线程ProcessEvent)?

我知道,如果我自己创建了线程,我可以将其设置isBackground为true,并且当进程死亡时它将全部被杀死,但我不会手动创建这些线程.

c# multithreading kill .net-4.0 plinq

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

如何在c ++中杀死进程,只知道其部分名称

前段时间我需要编写c ++代码来杀死某些进程.在我的主程序中,我使用系统("...")运行大型CAE系统包,输入时使用不同的文件名字符串.CAE软件创建许多进程,包含进程名称字符串filename).一些CAE流程的工作时间 > MAX_TIME,比我更需要关闭它们:

//filename contains part of CAE-process name
    string s="/bin/kill -9 `ps aux | grep "+filename+" | awk {'print $2'}`";
    system(s.c_str());
Run Code Online (Sandbox Code Playgroud)

输出是:

Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal …
Run Code Online (Sandbox Code Playgroud)

c++ unix linux kill process

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

尝试终止进程时出错–“ kill:pid:参数必须是进程或作业ID”

我试图杀死服务器上的Sphinx,以便重新启动它。我尝试使用此命令查找PID:

ps ax | grep "searchd"
Run Code Online (Sandbox Code Playgroud)

哪个打印出来了:

 1483 ?        S     00:00 /usr/local/bin/searchd --config /path/to/sphinx.conf
 1484 ?        Sl    20:51 /usr/local/bin/searchd --config /path/to/sphinx.conf
 1523 ?        S      0:00 /usr/local/bin/searchd --config /path/to/another/sphinx.conf
 1524 ?        Sl    20:35 /usr/local/bin/searchd --config /path/to/another/sphinx.conf
14174 pts/0    S+     0:00 grep searchd
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么会有重复的条目并且无法弄清楚SSl列的含义,但是我尝试了以下方法:

kill pid 1483
kill pid 1484
Run Code Online (Sandbox Code Playgroud)

但这输出了此错误:

-bash: kill: pid: arguments must be process or job IDs
Run Code Online (Sandbox Code Playgroud)

当我再次列出进程时,看起来好像杀死了进程(我为前两个运行了kill命令),但是错误让我怀疑我做错了什么?

linux ssh sphinx kill

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

如何使用appium关闭/杀死Android设备上的应用程序?

要杀死/关闭应用我试过,driver.close(), driver.closeApp(), driver.quit()但应用程序继续在后台运行.其中一个命令是否真的关闭了应用程序?如果是这样,怎么样?如果没有 - 有人可以提供替代解决方案吗?

java android kill appium

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

删除文件夹中的所有文件

我有以下代码尝试搜索我的下载文件夹中的所有文件,然后将其全部删除,但是基于kill函数,它返回的错误消息没有足够的参数,有什么想法吗?

Sub Kill ()

Dim aFile As String
aFile = "C:\Test\Test\Downloads\*.*"
If Len(Dir$(aFile)) > 0 Then
    Kill aFile
End If

End Sub
Run Code Online (Sandbox Code Playgroud)

谢谢,

vba file kill

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

标签 统计

kill ×10

multithreading ×3

android ×2

c# ×2

java ×2

linux ×2

.net ×1

.net-4.0 ×1

appium ×1

c++ ×1

cocoa ×1

file ×1

macos ×1

macos-carbon ×1

plinq ×1

process ×1

sleep ×1

sphinx ×1

ssh ×1

unix ×1

vba ×1

windows ×1