标签: kill-process

当父进程不是 root 时,有什么办法可以确定子进程是被内核用 SIGKILL 杀死的吗?

我遇到的情况是,有一个非根(所以我无法读取内核日志)父进程及其子进程,子进程可能已被内核用 SIGKILL 杀死,因为它消耗了大量内存。当发生这种情况时,父进程应该知道子进程是因为超出内存限制(理想情况下)而被杀死的,但我什至不知道是否可以弄清楚它是被 SIGKILL 杀死的,更不用说原因了。所以我需要从父进程的角度了解孩子是否被 SIGKILL 杀死,以及这是否是发生的原因(但这是第二个问题)。

有人可以给我建议吗?谢谢。

c unix kernel signals kill-process

3
推荐指数
1
解决办法
2125
查看次数

如何杀死Android上的整个应用程序?

可能重复:
Android:如何使用其所有活动终止应用程序?

我正在寻找一种方法来杀死整个应用程序(例如关闭进程),以防我的应用程序崩溃.我想这样做的原因是因为很多我的运行时数据存储在一个静态类中,所以当应用程序崩溃时,这个类就被杀死了.

我已经看到了关于Android哲学的相关问题(例如关于不杀死应用程序等),但是现在我只需要杀死我的应用程序.我怎样才能做到这一点?

我的应用程序有多个活动,我尝试了以下内容.它所做的只是恢复以前的活动.

System.exit(0)
Run Code Online (Sandbox Code Playgroud)


 ActivityManager servMng
 servMng = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
 servMng.killBackgroundProcesses(<my package name>);
Run Code Online (Sandbox Code Playgroud)


android.os.Process.sendSignal(android.os.Process.myPid(),
android.os.Process.SIGNAL_KILL);
Run Code Online (Sandbox Code Playgroud)

android.os.Process.killProcess(android.os.Process.myPid());

java android process kill-process

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

杀死一个java僵尸进程

我正在运行一个实验性的java应用程序,每次我杀死或停止应用程序时,都会创建僵尸进程.我知道僵尸并不是真正的问题,因为他们(据说)不会消耗资源.但是,我的RAM可用空间明显少于应有的空间.这是转储

ps aux | grep java

3052  8.5  0.0      0     0 ?        Zl   Sep24 127:24 [java] <defunct>
6644  0.9  0.0      0     0 ?        Zl   Sep24  13:20 [java] <defunct>
8325  0.7  0.0      0     0 ?        Zl   Sep24  11:01 [java] <defunct>
8954  0.7  0.0      0     0 ?        Zl   Sep24  11:01 [java] <defunct>
16229  1.3  0.0      0     0 ?        Zl   Sep24  16:57 [java] <defunct>
19222  106  0.0      0     0 ?        Zl   Sep24 1346:37 [java] <defunct>
Run Code Online (Sandbox Code Playgroud)

以下都不起作用:(

kill -9 PID , kill -1 PID, …
Run Code Online (Sandbox Code Playgroud)

linux zombie-process kill-process

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

bash脚本杀死php进程早一个小时

我有以下内容:

kill -9 `ps aux | grep php | awk '$9 !~ /[0-9]:[0-9]/' | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)

它的作用是杀死fcgid遗弃的进程并将其杀死以释放RAM.我想每小时将它作为一个cron运行,但是想要杀掉一小时以前的进程.我只是不确定如何修改脚本来做到这一点.

linux bash awk grep kill-process

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

为什么KILL_BACKGROUND_PROCESSES不起作用?

在AndroidManifest.xml中,我有这个权限:

<user-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
Run Code Online (Sandbox Code Playgroud)

但我仍然收到错误消息:

Permission Denial: killBackgroundProcesses() from ... requires android.permission.KILL_BACKGROUND_PROCESSES
Run Code Online (Sandbox Code Playgroud)

从以下方法调用此方法:

    ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
    final List<RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
    for(RunningAppProcessInfo runningProcess : runningProcesses) {
        if(runningProcess.processName.equals("com.example.nihao")) {
            Log.v("Hello", "kill process "+runningProcess.pid);
            //android.os.Process.killProcess(runningProcess.pid);
            am.killBackgroundProcesses("com.example.nihao");
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何线索?

android kill-process

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

自动杀死进程 - linux

我运行这个命令:

pgrep -l someprocess
Run Code Online (Sandbox Code Playgroud)

我得到一些输出 XXXX someprocess

然后我杀死手工出现的每一个进程,我想编写一个自动执行的脚本,但这没有意义 kill -9 $(pgrep -l someprocess | grep "^[0-9]{4}")

有人可以帮忙吗?

linux grep kill-process

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

SQL脚本杀死所有被阻止的进程?

我正在尝试创建一个可以杀死所有被阻止进程的SQL脚本.

我错过了什么吗?

declare @max_count int, @count int, @sqlstring varchar(100)
declare @spid_table table (spid int NOT NULL)

INSERT @spid_table
select spid
from master.dbo.sysprocesses
where spid in (select blocked from master.dbo.sysprocesses where blocked > 0) 

select @max_count = MAX(spid) FROM @spid_table
select top 1 @count = spid from @spid_table

while @count <= @max_count
begin
select @sqlstring = 'kill ' + CONVERT(varchar(4), @count)
exec(@sqlstring)
end
Run Code Online (Sandbox Code Playgroud)

sql sql-server kill kill-process

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

在join方法之后重启java线程

我想知道如何重新启动此线程我通过使用join方法杀死线程但是我得到了这个异常:线程"main"中的异常java.lang.IllegalThreadStateException线程的管理器:

public void manage() {

    while(true)
    {
        thread1.start();
        try {
            thread1.join();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        thread2.start();
        try {
            thread2.join();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
    }
}
Run Code Online (Sandbox Code Playgroud)

multithreading join kill-process

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

从网站杀死一个进程

我有代码和一切:

     pkill python
Run Code Online (Sandbox Code Playgroud)

但是我想从这样的 php 脚本运行它:

  echo shell_exec("pkill python");
Run Code Online (Sandbox Code Playgroud)

我得到一个输出,上面写着:

bash: pkill: (1503) - Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我知道问题是什么,即 pkill 是 su 命令。无论如何要更改它以便php脚本可以运行它?

php linux centos su kill-process

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

JAR 文件如何删除自身?

我需要一个 JAR 文件来删除自身。

问题是Windows在运行时锁定了JAR文件,不能直接删除自己。

我研究了批处理脚本可以杀死 JAR 进程然后删除文件的解决方案,但是

  • System.exit(0)不需要,因为它不能通过Batch文件运行。
  • taskkill /F /IM "java.exe"不需要,因为它会杀死所有 Java进程。
  • jps不能使用,因为它只是在现有的JDK和用户可能运行一个JRE,这样会失败。

我一直在寻找一个解决方案,让我找到PID当前JAR使用的Java代码,然后写出一个Batch命令并插入PID杀死进程的 ,例如如下所示:

printWriter.println("taskkill /PID " + currentJARPID);
Run Code Online (Sandbox Code Playgroud)

如果你想知道这是做什么的,你可以查看这个答案。

java windows batch-file taskkill kill-process

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