我写了一个用fork()分解一些进程的程序.如果出现错误,我想杀死所有孩子和母亲的过程.如果我使用exit(EXIT_FAILURE),则仅杀死子进程.
我正在考虑一个系统("killall [program_name]"),但必须有一个更好的方法......
谢谢你们!伦纳特
我使用VC++编译器我想知道如何杀死进程.有没有任何功能.
我尝试使用TerminateProcess(); 但我做不到......
python 是否提供了一种方法来查找使用子进程生成的子进程的子进程,以便我可以正确地杀死它们?如果不是,有什么好的方法可以确保孩子的孩子被杀死?
我想知道我是否停止使用扭曲过程
kill `cat twistd.pid`
Run Code Online (Sandbox Code Playgroud)
如果确实有一些sql执行提交将会发生什么?它会等待执行完成吗?或者只是未知,它可以完成,还是放弃?
我知道如果我把执行放在stopFactory方法中,工厂会做等待执行完成的事情.但是,如果我不这样做,我的意思是执行stopFactory方法,它会等待在工厂停止之前完成执行吗?
谢谢.
我需要一种Java方法来查找正在运行的操作系统进程,我知道该进程的名称和可执行文件的路径.我想看看它现在是否正在运行,如果我发现它,我需要一种方法来终止这个过程.
我的问题类似于如何从java中查找并杀死 - 运行 - 获胜 - 进程 -但不限于Windows.
我是否被迫每个平台执行一次实现,或者是否有一些技巧/库/ api我不知道可以做到这一点?
我正在尝试执行一个perl脚本来处理一个小的12 x 2文本文件(大约260字节)和一个大的.bedgraph文件(大小至少为1.3 MB).从这两个文件中,脚本输出一个新的bedgraph文件.
我已经在另外3个.bedgraph文件上运行了这个脚本,但是我尝试在其余的进程中运行它Killed.
perl脚本平均需要大约20分钟才能在每个.bedgraph文件上运行.
我在本地计算机上运行perl脚本(而不是从服务器运行).我正在使用Linux OS Ubuntu 12.04系统64位4GB RAM.
为什么我的perl脚本执行会被杀死,我该如何解决?
这是脚本:
# input file handle
open(my $sizes_fh, '<', 'S_lycopersicum_chromosomes.size') or die $!;
# output file handles
open(my $output, '+>', 'tendaysafterbreaker_output.bedgraph') or die $!;
my @array;
while(<$sizes_fh>){
chomp;
my ($chrom1, $size) = split(/\t/, $_);
@array = (0) x $size;
open(my $bedgraph_fh, '<', 'Solanum_lycopersicum_tendaysafterbreaker.bedgraph') or die $!;
while(<$bedgraph_fh>){
chomp;
my ($chrom2, $start, $end, $FPKM) = split(/\t/, $_);
if ($chrom1 eq $chrom2){
for(my $i = $start; $i …Run Code Online (Sandbox Code Playgroud) 我有一个有很多活动的公交车时刻表应用程序(大约120个).它运作顺利,但在打开几个活动后,它变慢了.所以我有按钮打开其他活动.我希望在另一个被打开后杀死前一个活动.我该怎么做?提前致谢.
我的按钮点击动作:
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button101 = (Button) findViewById(R.id.button101);
button101.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, B10oda.class);
startActivity(intent);
}
});
Run Code Online (Sandbox Code Playgroud) 我在这里看到了很多关于 kill 命令的讨论。但我的困惑是不同的。我有许多同名的进程,我必须自动杀死。因此我不能使用pid。那么是否有可能如果我转到特定路径并使用,kill <pname>那么只有与该路径相关的进程会被杀死?
或者有什么方法可以将路径名合并到 kill 命令中?
我想杀死与 tcsh shell 中的进程相关的 PID 列表。我运行了以下命令:
> losf <file> | awk '{print($2)"'
Run Code Online (Sandbox Code Playgroud)
该命令将显示 PID 列表。
PID1
PID2
...
然后我运行以下命令来杀死这些 PID。
> kill -9 `lsof <file> | awk'{print($2)}'`
Run Code Online (Sandbox Code Playgroud)
当执行该kill命令时,终端只是以某种方式挂起,而没有杀死任何 PID。然后我不得不恢复一一杀死那些 PID。
因此,有没有一种方法可以实现我想要做的事情,如上所示?谢谢。
我在 Mac OS 上运行 C 程序。我的程序的一部分如下。此代码在 sigint 信号上运行良好,但无法在 sigkill 信号上运行。
void sigkill(int sig){
/*some code neglected*/
exit(0);
}
void sigint(int sig){
flag=1;
}
void alive(void) {
signal(SIGINT, sigint);
signal(SIGKILL, sigkill);
alarm(10);
while(1){
//printf("%d\n",flag);
sleep(1);
if(flag==1){
printf("no\n");
flag=0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有四个问题:
起初我没有写sleep(1),它可以进入函数sigint(),并改变标志值,我从printf中可以看到。然而,没有像我预期的那样输出“no”。
添加睡眠功能后,效果很好。我想 while 循环会每 1 秒检查一次 flag,如果 flag=1 则输出“no”。但是,每次按 ctrl+c 时似乎都会输出“no”。为什么连一秒钟都不等?
问题是“你不应该使用'sleep()'来等待10秒。使用alarm(),加上一个循环。” 我想知道如何在没有 sleep() 的情况下实现这一点。
Kill 命令无法调用 sigkill 函数,如何解决这个问题?