标签: kill

使用名称杀死随机进程

我想要一种方法来杀死一个带有名称的随机进程(例如随机perl进程).

这样做的最佳方式是什么?

我有点想用这样的东西:

ps aux | grep PROCESS-NAME
Run Code Online (Sandbox Code Playgroud)

到一个文件,然后找到一个随机的行号,得到第二列(进程ID?)并杀死它.

对于我的使用它实际上不需要是随机的,只要它杀死其中一个进程.随机使它变得更好.

linux bash shell kill

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

这个文件的奇怪案例既包括也包括

在.Net 3.5中,我有以下代码.

If File.Exists(sFilePath & IndexFileName & ".NX") Then
  Kill(sFilePath & IndexFileName & ".NX")
End If
Run Code Online (Sandbox Code Playgroud)

在运行时,在一个客户端的机器上,当执行此代码时,我会一遍又一遍地得到以下异常

Source: Microsoft.VisualBasic
TargetSite: Microsoft.VisualBasic.FileSystem.Kill
Message: No files found matching 'I:\RPG\HGIAPVXD.NX'.
StackTrace: 
   at Microsoft.VisualBasic.FileSystem.Kill(String PathName)
(More trace that identifies the exact line of code.)
Run Code Online (Sandbox Code Playgroud)

运行此代码的不同计算机上有两个人,但只有一个人获得了异常.例外不会每次都发生,但它会定期发生.(每小时多次.)代码不在循环中,也不是连续运行,更像每隔几分钟一次.

从表面上看,这看起来像一个竞争条件,但考虑到这个代码的运行频率以及错误发生的频率,我认为必定会有其他事情发生.

我很感激有关如何追踪这里真正发生的事情的任何建议.保持错误发生的解决方案会更好.

windows file kill .net-3.5

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

按下[Home]后,列表中仍然可以看到被杀死进程的活动

像许多其他人一样,我想在"退出"按钮上杀死我的Android应用程序.真的杀了,不只是移动到后台并停止所有活动代码(我非常清楚Android不喜欢它).

我发现Process.killProcess(Process.myPid())System.exit(0)这都工作得不错(我有活动堆栈没有问题,"退出"按钮,在我的基地活动).

但有一个问题.当我杀死我的进程并且我回到shell中时,我按下[Home]按钮.它显示了后台应用程序列表,包括已被杀死的应用程序.

有没有办法如何做到这两点:1)杀死进程和2)从用户按[Home]按钮后显示的Android应用程序列表中删除它?

感谢所有回复(除了那个愚蠢的"你不应该在Android上明确退出应用程序":-))

android kill process exit android-activity

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

无法编译调用tgkill的程序

我正在尝试编写一个使用tgkill向特定线程发送信号的程序,但每当我用gcc编译它时,我都会收到有关'tgkill'未定义引用的错误.我尝试使用-lpthread编译,但它没有帮助.我用Google搜索并用Google搜索,无法得出任何答案.我如何编译?

c linux multithreading kill

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

Node.JS Shutdown Hook

是否可以拦截默认kill信号并将其用作正常关闭的命令?这适用于Solaris SMF.我找到一个可停止服务的最简单方法是设置:kill为关闭脚本,然后在Java中添加一个关闭钩子.在这种情况下,我想为Node.JS做.我该怎么办?

编辑:目的是

  1. 停止接收新请求.
  2. 给现有的回调几秒钟完成.
  3. 写一些信息给stderr.

@ alienhard的第一个建议是使用,process.on('exit'...但似乎我不能用这种方法完成2号.

solaris kill node.js shutdown-hook sigterm

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

Ruby杀死使用PTY.spawn打开的虚拟外壳

在ruby脚本中,我启动了更多的虚拟shell,每个虚拟shell由shell管理器对象管理,如下所示:

@shell = PTY.spawn 'env PS1="\w>" TERM=dumb COLUMNS=63 LINES=21 sh -i'
Run Code Online (Sandbox Code Playgroud)

在以后的某个时间点,我想销毁该实例并杀死相关的shell进程。可悲的是,我什么也无法正常工作。这是我尝试过的方法,按照工作的可能性排序:

  • 没什么,就是说当管理对象被销毁时,shell proc不会关闭。
  • 使用kill命令杀死外壳程序上运行的所有进程(此方法有效),然后使用杀死外壳程序本身system("kill #{@shell[2]")。这没有作用。
  • 在上面使用-9。这使Shell进程失效。

当ruby程序退出时,所有的shell都关闭了,但是我想在保持程序运行的同时杀死它们。有人遇到过这样的事情吗?

ruby linux kill process pty

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

通过命令行恢复已停止的进程

我在Linux CentOS中执行了以下C代码来创建一个进程.

#include <stdio.h>
#include <unistd.h>

    int main ()
    {
          int i = 0;

          while ( 1 )
          {
                printf ( "\nhello %d\n", i ++ );
                sleep ( 2 );
          }
    }
Run Code Online (Sandbox Code Playgroud)

我把它编译成了hello_count.当我这样做时./hello_count,输出是这样的:

hello 0
hello 1
hello 2
...
Run Code Online (Sandbox Code Playgroud)

直到我杀了它.我已使用以下命令停止执行

kill -s SIGSTOP 2956
Run Code Online (Sandbox Code Playgroud)

当我做

ps -e
Run Code Online (Sandbox Code Playgroud)

该过程2956 ./hello_count仍然列出.

是否有任何命令或任何方法可以恢复(不重启)进程号为2956的进程?

此外,当我停止该过程时,命令行显示:

[1]+ Stopped      ./hello_count
Run Code Online (Sandbox Code Playgroud)

什么是[1]+在上面的线是什么意思?

linux signals kill process

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

自动化Killall然后Killall等级9

有时我想要killall一个特定的过程,但运行killall不起作用.因此,当我尝试再次启动该过程时,它会失败,因为前一个会话仍在运行.然后我不得不单调乏味地继续前进killall -9.所以为了简化我的生活,我创建了一个realkill脚本,它是这样的:

PIDS=$(ps aux | grep -i "$@" | awk '{ print $2 }') # Get matching pid's.
kill $PIDS 2> /dev/null # Try to kill all pid's.
sleep 3
kill -9 $PIDS 2> /dev/null # Force quit any remaining pid's.
Run Code Online (Sandbox Code Playgroud)

那么,这是最好的方式吗?我可以通过哪些方式改进此脚本?

linux bash shell kill kill-process

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

在Intellij-IDEA调试器中杀死Java线程

我发现了几篇关于如何使用jdb http://www.rhcedan.com/2010/06/22/killing-a-java-thread/在SO上杀死Java线程的说明。这可行。现在,我想使用Intellij-IDEA调试器杀死线程。有可能吗?

java debugging multithreading kill intellij-idea

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

从perl脚本中删除一个进程

我试图通过名称杀死进程,我将作为变量传递给系统命令.

以下是我所拥有的:

my $processName=$ARGV[0];
print "$processName\n";
system(q/kill -9 `ps -ef | grep '$processName' | grep -v grep | awk '{print $2}'`/);
Run Code Online (Sandbox Code Playgroud)

上面的脚本抛出一个错误:

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接在系统命令中输入进程名称,它就可以工作.

有人可以帮我吗?

perl pid system kill

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