标签: kill

在linux bash脚本中杀死一个10分钟的僵尸进程

我一直在修补yukondude的正则表达式答案但收效甚微.我正在尝试杀死超过10分钟的进程.我已经知道进程ID是什么了.我每10分钟循环一次数组,看看是否有任何挥之不去的触发器,并且需要被杀死.有人对此有任何快速的想法吗?

ps -eo uid,pid,etime 3233332 | egrep ' ([0-9]+-)?([0-9]{2}:?){3}' | awk '{print $2}' | xargs -I{} kill {}
Run Code Online (Sandbox Code Playgroud)

linux bash kill process zombie-process

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

打开然后从bash中杀死子进程

执行命令然后在一段时间后杀死命令的最佳方法是什么?这就是我所拥有的; 它完成了这项工作,但是我得到了amp: command not found,虽然我不知道为什么放大器在那里,但我知道如果没有放大器,杀戮就行不通.

feh "$output""$ext" &
echo $!
sleep 1
kill -s 9 $!
exit 1
Run Code Online (Sandbox Code Playgroud)

问题是我不知道我正在执行的进程的PID.我可以在执行时指定一个吗?

bash kill parent-child

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

停止或终止服务

我正在开发一个任务管理器应用程序

在该应用程序中,我向用户显示每个应用程序旁边正在运行的应用程序列表和终止按钮.当用户按下kill按钮时,相应的活动将被终止并且我被使用

      activitymanager.killbackgroundprocesses(packageName)
Run Code Online (Sandbox Code Playgroud)

我创建了另一个名为服务通知的应用程序,用户可以通过单击按钮"启动服务"和按钮"停止服务"来启动和停止服务.然后在运行我的任务管理器应用程序之前,我从服务通知应用程序启动了服务.所以这个活动显示在我的任务管理器应用程序中.

但是,当我杀死该活动时,它会从列表中消失,然后再次出现,因为服务正在重新启动.那么我如何杀死服务呢?

我使用startService和onCreate来启动服务并显示一些通知和stopService以及onDestroy来停止服务...

service android kill

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

C - 用popen获取进程的PID

我有一个用C编写的程序,它使用popen打开另一个程序.我想获得该程序的pid或某种处理程序,以便在一定的时间限制后杀死它,或者它超过某些ram和stdout限制.我认为这必须用ptrace完成,它需要PID,我不知道如何获取.

c ptrace pid kill popen

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

任何简洁快捷的杀死进程的方法,包括所有子进程

我知道这听起来像是一个常见的问题,我应该能够在档案中找到答案.尝试寻找一些,但找不到.所有回复都看起来很冗长.任何1-liner杀死linux中的进程,包括其所有子进程.

linux shell kill process

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

如何用C杀死管理线程?

我有以下代码.构建应用程序是myprogram.

如果我启动myprogram然后killall myprogram,然后我立即启动myprogram,然后myprogram崩溃.

崩溃原因是由于第一次启动创建的管理线程在第二次启动之前未正确清除.

所以在第二次启动时,myprogram试图用pthread创建线程,旧的线程管理还没有被删除,所以它会导致崩溃.

有没有办法在我第一次启动时或在我第二次使用C启动开始杀死管理线程?

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

pthread_t test_thread;

void *thread_test_run (void *v)
{
    int i=1;
    while(1)
    {
       printf("into thread %d\r\n",i);
       i++; 
       sleep(1);
    }
    return NULL
}

int main()
{
    // ps aux | grep myprogram  ---> show 1 myprogram (1 for the main application)

    pthread_create(&test_thread, NULL, &thread_test_run, NULL);

    // ps aux | grep myprogram  ---> show 3 myprogram
    // (1st for the main application)
    // (2nd for the management thread. …
Run Code Online (Sandbox Code Playgroud)

c pthreads kill sigkill

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

在KeyboardInterrupt之后杀死subprocess.call

subprocess.call当我得到键盘中断(ctrl-c)时,我需要停止使用Python 创建的进程

问题是p在完成执行之前没有分配给它的值

p = subprocess.call(cmd)

所以我不能os.kill用来杀死它.另外,shell=True因为原因无法使用.

我想做的是:

try:
  p = subprocess.call(cmd)
except KeyboardInterrupt:
  os.kill(p.pid,signal.SIGTERM)
  sys.exit('exited after ctrl-c')
Run Code Online (Sandbox Code Playgroud)

python subprocess kill process

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

当我发送很多kill()命令时,我的服务器不处理所有信号

这个小代码我有问题.我有一个"服务器"和一个"客户端".服务器等待SIGUSR1客户端.但是当我发送SIGUSR1循环时,服务器不处理每个信号!我i++每次收到信号时都会这样做,而当我发送1000个信号时,我得到981.

usleep()sleep()没有帮助.

这是客户端代码:

#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

int     main(int ac, char **av)
{
  int   i = 0;
  int status = 0;

  if (ac < 2)
    return (0);
  printf("kill %s (%d)", av[1], atoi(av[1]));
  for (i=0;i<=1000;i++)
    {
      printf("%d\n", i);
      kill(atoi(av[1]), SIGUSR1);
    }
  kill(atoi(av[1]), SIGUSR2);
}
Run Code Online (Sandbox Code Playgroud)

和服务器代码:

#include <signal.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int i = 0;

void    sig2(int signum)
{
  /* usleep(30); */
  printf("%d\n", i); …
Run Code Online (Sandbox Code Playgroud)

c linux signals kill system-calls

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

Android - 从另一个应用程序中杀死应用程序(在root设备上)

我有一个扎根的Android设备.有一次,我从我的主应用程序启动了一个辅助应用程序,如下所示:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.app.package");
startActivityForResult(intent, 100);
Run Code Online (Sandbox Code Playgroud)

我希望能够从主应用程序中删除此辅助应用程序.我正在尝试以下一般程序:

// At an earlier point in time...
Runtime.getRuntime().exec("su");
// The user grants permission

// ...

// At a later point in time...
Runtime.getRuntime().exec("su am force-stop com.app.package");
Run Code Online (Sandbox Code Playgroud)

不幸的是,这并没有杀死应用程序,没有提示为什么来自logcat.

如果我尝试将kill命令作为"am force-stop com.app.package"而不是"su am force-stop com.app.package"运行,则logcat说我没有权限,即使我有超级用户早先运行"su"的许可.

android kill root android-intent superuser

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

Ctrl C不会杀死Python中循环的子进程

是否有适当的方法来创建一个脚本,该脚本循环遍历文件夹中的文件并执行可以用Ctrl C在外部终止的子进程?我在管道中嵌入了类似以下内容的内容,当主进程被杀死时,无法从命令行Ctrl C进行操作。

示例脚本:

import subprocess
import os
import sys

input_directory = sys.argv[1]

for file in os.listdir(os.path.abspath(input_directory)):
    output = file + "_out.out"
    command = ['somescript.py', file, output]
    try:
        subprocess.check_call(command)
    except:
        print "Command Failed"
Run Code Online (Sandbox Code Playgroud)

然后我将执行程序:

Example_script.py /path/to/some/directory/containing/files/
Run Code Online (Sandbox Code Playgroud)

在循环时,如果我看到命令失败,我想使用CtrlC。但是,尽管主脚本已被Ctrl C销毁,但它仍然失败并继续运行其他子进程。是否有适当的方式编写这样的代码可以使用Ctrl C杀死孩子(其他子过程)?

任何帮助,或指出我的方向,不胜感激。我目前正在寻找一种好方法。

python subprocess kill system-calls

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