标签: kill

如何使用SIGKILL杀死java中的Linux进程Process.destroy()执行SIGTERM

在Linux中,当我在java.lang.Process对象上运行destroy函数(这是真正的类型java.lang.UNIXProcess)时,它会发送一个SIGTERM信号进行处理,有没有办法用SIGKILL来杀死它?

java linux kill process sigterm

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

如何杀死我自己的活动 - 艰难的方式

所以我有我的活动,按下"退出"按钮我调用Activity.finish().这有效地关闭了我的申请.

问题:我的应用程序的Dalvik过程仍然像背景中的僵尸一样闲逛.看起来这是正常的,因为其他应用程序也这样做.甚至hello-world示例也在内存中徘徊.

我可以忍受这个,但不幸的是这种行为使我的应用程序的开发变得痛苦.我有一个连接到我的Activity的远程服务,并且在我的Activity卸载之前这个服务不会卸载(正如它所说的那样).

一切都以某种方式保持活着,没有任何理由.

我怎样才能真正从记忆中删除我的活动?

我正在寻找像Activity.finish_and_kill_my_process_please()调用或类似的东西.

android kill process android-activity

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

杀-3或jstack:有什么区别?

我想得到在jboss服务器上运行的我的Web应用程序的线程转储.

我找到了两个解决我问题的方法:

  • 使用unix命令:kill -3
  • 使用JDK中存在的jstack工具.

谁能向我解释这两种方法之间的区别?

提前致谢 !

java kill jstack thread-dump

16
推荐指数
1
解决办法
4002
查看次数

如何杀死容器内的进程?Docker顶级命令

我在docker网站的官方指南中有一个简单的例子.

我执行以下操作:

sudo docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello world; sleep 1; done"
a66asdasdhqie123...
Run Code Online (Sandbox Code Playgroud)

然后从创建的容器中获取一些输出:

sudo docker logs a66
hello
hello
hello
...
Run Code Online (Sandbox Code Playgroud)

然后我查找容器的运行进程:

sudo docker top a66
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                25055               15152               0                   20:07               ?                   00:00:00            /bin/sh -c while true; do echo hello world; sleep 1; done
root                25295               25055               0                   20:10               ?                   00:00:00            sleep 1
Run Code Online (Sandbox Code Playgroud)

接下来我尝试杀死容器的第一个进程:

sudo docker exec a66 kill -9 25055
Run Code Online (Sandbox Code Playgroud)

但是在我做完之后没什么变化.进程仍然有效并且每秒输出"你好".我错了什么?

unix command-line kill process docker

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

Process.Kill()似乎没有杀死进程

我无法使用Process.Kill().我想我一定是在误解它是如何运作的.这是我的测试功能.我开始一个长时间运行的进程(ping -t),然后在五秒后终止它.

我可以看到ping进程显示,但程序结束后进程仍然存在.我必须手动杀死它.

Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);

ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
Process process = new Process();

startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.Arguments = "/c ping -t 8.8.8.8";

Console.WriteLine("Staring ping process");
process.StartInfo = startInfo;
process.Start();
Thread.Sleep(5000);

Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);
Thread.Sleep(5000);

Console.WriteLine("Killing ping process");
process.Kill();
Thread.Sleep(5000);

Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

.net c# kill process

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

如何从自己的前台通知中停止服务

Service跑了.而onStartCommand我正在startforeground努力避免被系统杀害.

public int onStartCommand(Intent intent, int flags, int startId) {
    if (ACTION_STOP_SERVICE.equals(intent.getAction())) {
        Log.d(TAG,"called to cancel service");
        manager.cancel(NOTIFCATION_ID);
        stopSelf();
    }
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setContentTitle("abc");
    builder.setContentText("Press below button to stoP.");
    builder.setPriority(NotificationCompat.PRIORITY_HIGH);
    builder.setSmallIcon(R.drawable.ic_launcher);

    Intent stopSelf = new Intent(this, SameService.class);
    stopSelf.setAction(this.ACTION_STOP_SERVICE);
    PendingIntent pStopSelf = PendingIntent.getService(this, 0, stopSelf,0);
    builder.addAction(R.drawable.ic_launcher, "Stop", pStopSelf);
    manager.notify(NOTIFCATION_ID, builder.build());
}
Run Code Online (Sandbox Code Playgroud)

但按下按钮后,PendingIntent工作不正常,我activity不会被它拦住.

有人可以告诉我,我在这里做错了什么或任何其他解决方案来停止notification自我制作的前台服务.

谢谢

service notifications android kill

16
推荐指数
1
解决办法
9183
查看次数

在Windows上用c ++执行等效的"Kill Process Tree"

我们有一个c ++任务,它将分叉一个新进程.反过来,这个过程可能有几个子进程.如果任务超过规定的时间,我们将要杀死该分叉进程.但是,我们不希望孤立它产生的进程.我们希望他们都死了.我使用了Process Explorer,它有一个"杀死进程树"选项,类似于Windows任务管理器的"结束进程树",所以我猜/假设有一个公共API来执行此操作.有没有人这样做,或者知道对公共API的引用呢?

Thx,Brett

c++ windows kill

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

如何使用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  
Run Code Online (Sandbox Code Playgroud)

它适用于某些进程,但是当涉及到在SYSTEM下运行的任何进程时,它无法阻止它.

在SYSTEM下有什么我需要添加来杀死进程吗?

windows vbscript kill

15
推荐指数
1
解决办法
9万
查看次数

用Java杀死进程的正确方法

在Java中杀死进程的最佳方法是什么?

获取PID然后用它杀死它Runtime.exec()

destroyForcibly()吗?

这两种方法有什么区别,还有其他解决方案吗?

java kill process runtime.exec destroy

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

如何使用ansible杀死正在运行的进程?

我有一个ansible playbook来杀死正在运行的进程并且在大多数情况下工作得很好!但是,我们不时会发现无法杀死的进程,"wait_for"进入超时,抛出错误并停止这个过程.

目前的解决方法是手动进入框中,使用"kill -9"并再次运行ansible playbook,所以我想知道是否有办法从ansible本身处理这个场景?我的意思是,我不想从一开始就使用kill -9但我可能是一种处理超时的方法?,即使只在进程没有在300秒内被杀死时使用kill -9?但最好的办法是什么?

这些是我目前的任务:

- name: Get running processes
  shell: "ps -ef | grep -v grep | grep -w {{ PROCESS }} | awk '{print $2}'"
  register: running_processes

- name: Kill running processes
  shell: "kill {{ item }}"
  with_items: "{{ running_processes.stdout_lines }}"

- name: Waiting until all running processes are killed
  wait_for:
    path: "/proc/{{ item }}/status"
    state: absent
  with_items: "{{ running_processes.stdout_lines }}"
Run Code Online (Sandbox Code Playgroud)

谢谢!

kill process kill-process ansible ansible-2.x

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