标签: kill

Windows - CreateProcess 分离子进程

我想创建一个与父进程分离的子进程,这样如果父进程退出,子进程将继续。我正在 Windows 上工作并执行了以下操作:

if(CreateProcess(program, arguments, NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW | DETACHED_PROCESS, NULL, NULL, &sinfo, &pinfo))
{
   CloseHandle(pinfo.hProcess);
   CloseHandle(pinfo.hThread);
}
Run Code Online (Sandbox Code Playgroud)

在我的例子中,父进程继续运行,而子进程在后台执行。如果我在终端中按 Ctrl-C 来终止父进程,则子进程将按预期继续执行。但是,如果我在 Window 的任务管理器中杀死父进程,则子进程也会被杀死。

为什么Ctrl-C和任务管理器中的查杀有区别?即使父级在任务管理器中被杀死,有什么方法可以确保子级继续运行?

windows subprocess kill process createprocess

8
推荐指数
0
解决办法
5135
查看次数

如何关闭/杀死 Flutter 上的应用程序

我实际上知道这个实现:Flutter 以编程方式关闭应用程序,但是当应用程序关闭时仍然在后台。我怎样才能完全杀死应用程序而不让它在后台?

谢谢!

kill flutter

8
推荐指数
2
解决办法
8584
查看次数

如何用Perl杀死整个进程树?

从Perl脚本中删除进程及其所有子进程的最佳方法是什么?它应该至少在Linux和Solaris下运行,并且不需要安装任何其他软件包.

我的猜测是通过解析/ proc中的文件或解析输出来获取所有进程及其父进程的列表(这两种进程ps在Linux和Solaris之间都不可移植); 然后杀死树中的所有进程(这似乎容易出现竞争条件).

在这种特殊情况下,我可以忍受竞争条件,但我如何轻松获取进程列表?

linux perl solaris kill process

7
推荐指数
2
解决办法
8456
查看次数

如何在使用子进程时限制程序的执行时间?

我想使用子进程来运行程序,我需要限制执行时间.例如,如果运行时间超过2秒,我想杀死它.

对于常见程序,kill()运行良好.但是,如果我尝试运行/usr/bin/time something,kill()不能真正杀死该程序.

我的下面的代码似乎不能很好地工作.该程序仍在运行.

import subprocess
import time

exec_proc = subprocess.Popen("/usr/bin/time -f \"%e\\n%M\" ./son > /dev/null", stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell = True)

max_time = 1
cur_time = 0.0
return_code = 0
while cur_time <= max_time:
    if exec_proc.poll() != None:
        return_code = exec_proc.poll()
        break
    time.sleep(0.1)
    cur_time += 0.1

if cur_time > max_time:
    exec_proc.kill()
Run Code Online (Sandbox Code Playgroud)

python subprocess kill

7
推荐指数
2
解决办法
5205
查看次数

即使os杀死应用程序,如何在android中保存/恢复全局变量

在android中,Google建议我们在Application中保存全局变量.但是有一个问题,如果android os由于内存不足而终止应用程序,应用程序将重新创建并且我保存的全局变量将丢失.

我不知道何时保存/恢复这些变量,应用程序没有给我们一些方法,如onsaveinstancestate()/ onrestoreinstancestate().

我有一个想法,但我无法确保它能够很好地运作.我看到一些应用程序会在os杀死它时转到slashScreen,也许我们可以在SplashAvtivity中保存这些gloabl变量?因为Activity有方法onsaveinstancestate()/ onrestoreinstancestate(),app首先启动splashActivity并且没有完成它,当我们发现os杀死app时,我们可以再去SplashActivity(在任务中完成所有活动)然后onrestoreinstancestate ().

有没有其他好的方法来保存/撤销全局变量?当然,我认为如果谷歌可以在应用程序中为我们提供诸如onsaveinstancestate()/ onrestoreinstancestate()之类的方法,那就更好了.:S

android global restore kill global-variables

7
推荐指数
1
解决办法
7038
查看次数

linux下如何通过pid杀死进程

我是Linux新手,我正在构建一个程序,该程序接收进程的名称,获取其PID(我对这部分没有问题),然后将PID传递给kill命令,但它不起作用。事情是这样的:

read -p "Process to kill: " proceso
proid= pidof $proceso
echo "$proid"
kill $proid
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么它没有杀死它吗?我知道还有其他一些方法可以做到这一点,即使使用 PID,但它们似乎都不适合我。我相信这是 Bash 语言(我刚刚开始学习)的某种问题。

linux bash command kill process

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

如何杀死所有glassfish实例

任何人都可以告诉我如何使用端口4848和8080杀死Glassfish实例.

我安装了Glassfish,发现Glassfish安装工作不正常,因此停止使用Glassfish服务器(./asadmin stop-domain)从我的ubuntu机器上删除了所有Glassfish文件.

现在我下载了其他Glassfish版本(每晚构建5.0,因为JDBC MySQL不起作用)并尝试启动服务器(./asadmin start-domain).我收到以下错误.

有一个进程已经使用管理端口4848 - 它可能是GlassFish服务器的另一个实例.

java mysql kill process glassfish

7
推荐指数
1
解决办法
7137
查看次数

Linux - 按路径杀死进程

如何通过其可执行文件的绝对文件路径杀死进程?因此,我想杀死从给定位置的可执行文件创建的所有进程?

回答:

kill $(ps aux | grep '<absolute executable path>' | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

linux executable kill process

7
推荐指数
1
解决办法
6324
查看次数

通过kill优雅地杀死rosbag

我想rosbag通过终端优雅地终止一个实例。在这种情况下,优雅地意味着该文件在终止后rosbag没有后缀.active 。

所以我从终端执行以下操作将推荐发送SIGINT到 rosbag:

$ rosbag record /some/topic &
$ RPID=$!
$ # do some stuff 
$ kill -2 $RPID
Run Code Online (Sandbox Code Playgroud)

不幸的是,包仍然处于活动状态,并且可能会发生并非所有内容都存储到磁盘中的情况。但是,如果我将 rosbag 放入启动文件中,它似乎可以工作:

$ roslaunch rosbag_record.launch &
$ LPID=$!
$ # do some stuff 
$ kill -2 $LPID
Run Code Online (Sandbox Code Playgroud)

现在 rosbag 保持完整,并且存储时没有活动后缀。

现在有趣的问题是,在第一种情况下我做错了什么。我认为杀死启动文件,并在本例中杀死 roscore,会引发 a ,这会导致所有进程中的ros::shutdown()a 。SIGINT但使用手动方式kill似乎有不同的行为。

terminal kill ros

7
推荐指数
1
解决办法
7273
查看次数

在 iOS 13 中,当用户在应用切换器中向上滑动我的应用时,我会收到哪些事件?

当用户在 iOS 13 上的应用切换器中向上滑动我的应用时,我发现对我获得(或未获得)的事件进行分类和说明非常困难。这似乎是由于多个场景引起的变化支持。在那种情况下我会遇到什么事件?

kill ios ios13

7
推荐指数
1
解决办法
731
查看次数