标签: kill-process

是否有必要在Process.Kill之后使用Process.WaitForExit?

是否有必要在Process.Kill之后使用Process.WaitForExit?
如果调用进程在调用Process.Kill后立即退出怎么办?
这会导致Process.Kill失败吗?

编辑:我需要在退出应用程序时终止进程.此时我不打算处理kill失败的情况,因此我没有必要等待进程退出.因此,如果不需要调用WaitForExit,我可以跳过它.

.net process kill-process

5
推荐指数
1
解决办法
4140
查看次数

获取正在运行的进程列表并终止特定进程

我正在执行以下代码:

ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);
Run Code Online (Sandbox Code Playgroud)

然后,我杀了一个我感兴趣的过程

actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());
Run Code Online (Sandbox Code Playgroud)

哪里process是一个条目procInfos.

问题是如果我getRunningTasks再次运行- 它仍会显示我(可能)被杀死的进程,而Android的任务管理器在调用之前列出了该进程killBackgroundProcesses并在该调用之后将其从列表中删除.

那么,关于任务管理器如何获得正在运行的进程列表的任何想法?在无根设备上成功杀死第三方进程是正常的吗?

android process kill-process

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

在 Node.JS 中从自身内部杀死子进程

有没有办法杀死让孩子进程“自杀”?我尝试过,process.exit(1)但显然它会杀死我正在运行的整个应用程序。我只想杀死子进程(就像我们process.kill()从子进程的“父亲”调用一样)。process.kill()在子进程中调用也会杀死整个应用程序。

任何的想法?

kill-process child-process node.js

5
推荐指数
1
解决办法
3280
查看次数

为什么我的Java应用程序成功关闭了Windows资源管理器,但又无法重新启动它?

在我的java应用程序中我使用

Runtime.getRuntime().exec("taskkill /F /IM " + explorer.exe).waitFor();
Run Code Online (Sandbox Code Playgroud)

关闭Windows资源管理器.这部分有效,因为Explorer真的停止为我工作.

不幸的是,当我使用时

Runtime.getRuntime().exec("explorer.exe");
Run Code Online (Sandbox Code Playgroud)

Windows资源管理器根本不重新启动.我该如何正确重启?

java windows-explorer kill-process windows-7

5
推荐指数
1
解决办法
1255
查看次数

Android-如何检测恢复我的应用程序被VM杀死?

在我的应用程序中,当用户按下HOME键并在一段时间后返回应用程序时,我的应用程序在各种位置和活动上提供NullPointerExceptions.我知道我的应用程序被操作系统杀死以释放一些资源.现在我希望当用户再次回到应用程序并且应用程序先前被杀死时,我怎么能检测到我的应用程序被杀死以便我可以重新加载不同的资源?

android nullpointerexception kill-process

5
推荐指数
1
解决办法
3722
查看次数

Android 在开始新活动时终止所有其他活动

我有一个 android 活动问题。

这是我的流程的工作原理:

  1. Login Activity 开始
  2. 登陆成功。MainMenuActivity开始,LoginActivity 由我完成。
  3. 用户触摸设置和 SettingsActivity 启动。MainMenuActivity没有完成。因为它是主菜单。当用户在设置屏幕上按下返回时,我需要返回MainMenuActivity。所以我不能杀MainMenu
  4. 用户触摸注销SettingsActivity并由我完成并开始登录活动。当用户返回登录时,我需要杀死MainMenuActivity但我不能。:/
  5. 我试过FLAG_ACTIVITY_SINGLE_TOPCLEAR_TOPSINGLE_TASKNEW_TASKNO_HISTORY等几乎所有的人没有工作
  6. 我把launchMode="singleTask"clearTaskOnLaunh="true"等没有再工作。
  7. 我试图addFlags()setFlags()这两个,没有工作
  8. 这里有很多关于这个主题的问题,我阅读并应用了所有建议的解决方案,但没有奏效。

请问有人可以帮忙吗?

PS android:minSdkVersion="8"android:targetSdkVersion="15"我的应用程序。我没有在应用程序中使用片段,我使用旧的活动结构。

flags android kill-process android-intent android-activity

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

如何在应用程序/活动被杀死时避免系统查杀服务

我有一个activity和一个应用程序service.如果我在运行的activity同时杀死service它也会被杀死.对我来说,服务不会被杀死是非常重要的.如何使当系统杀死(或者我通过清除"最近的应用程序"列表杀吧)activityservice仍然有效,直到它完成它的工作?提前致谢!

service android system kill-process android-activity

5
推荐指数
1
解决办法
8178
查看次数

如何使用一个bash命令终止在gulp中运行的所有服务器

我创建了一个gulpfile.js启动我的服务器,其内容可以在下面看到.

gulp.task('default', function () {
    if(!fs.statSync('/etc/aptly.conf').isFile()){
    process.exit();
    return;
    }

    console.info('Starting static file server SimpleHTTPServer on 0.0.0.0:8080');
    aptly_static = spawn('python', ['-m', 'SimpleHTTPServer', '8080'], {'cwd': '/opt/aptly/public', 'stdio': 'inherit'});

    console.info('Starting Django runserver on 0.0.0.0:8000');
    django = spawn('python', ['manage.py', 'runserver', '0.0.0.0:8000'], {'stdio': 'inherit'});

    console.info('Starting Aptly api serve on 0.0.0.0:4416');
    aptly_api = run('aptly api serve -listen="0.0.0.0:4416"').exec().pipe(gulp.dest('/tmp/aptlylog'));

    return watchLess('src/**/*.less')
    .pipe(debug())
        .pipe(reLess)
        .pipe(gulp.dest('dist/dist'));
Run Code Online (Sandbox Code Playgroud)

问题是如果由于任何原因导致较少的预处理器崩溃,gulpfile.js守护程序退出的很差.子进程python manage.py runserver python -m SimpleHTTPServer aptly api serve仍将运行.

我不得不通过使用ps -aux | grep runserver类似的方法来煞费苦心地终止这些,以找到要删除的PID sudo kill -9 $PID …

django bash kill-process gulp gulp-watch

5
推荐指数
1
解决办法
1675
查看次数

python中subprocess.Popen preexec_fn和start_new_session之间的区别

是什么启动一个新的进程与这两个选项之间的区别subprocess.Popenpython3.2+Linux

proc = subprocess.Popen(args, ..., preexec_fn=os.setsid)   # 1
proc = subprocess.Popen(args, ..., start_new_session=True) # 2
Run Code Online (Sandbox Code Playgroud)

我需要这个,因为我需要设置进程组ID,以便有可能立即杀死该进程及其所有子进程。然后,如果流程运行时间超过特定阈值,则使用此方法:

try:
    out, err = proc.communicate(timeout=time_max)
except subprocess.TimeoutExpired:
    os.killpg(os.getpgid(proc.pid), signal.SIGTERM) 
Run Code Online (Sandbox Code Playgroud)

我使用两个选项(#1#2)测试了我的代码,它们对我来说似乎都可以正常工作。

但是我想知道这里最好的选择是什么-一个preexec_fn或一个start_new_session

python subprocess popen kill-process setsid

5
推荐指数
1
解决办法
4068
查看次数

尽管进程已死,为什么仍会收到子进程资源警告?

我一直在尝试找出如何启动不同的子流程实例,然后杀死它们然后创建新的实例。父python进程从不执行,只会杀死子进程。我在SO上跟踪了很多链接,但是一旦父python进程结束,我就会不断收到以下消息:

F/Users/Lucifer/miniconda3/envs/rltp/lib/python3.6/subprocess.py:761: ResourceWarning: subprocess 40909 is still running ResourceWarning, source=self)
Run Code Online (Sandbox Code Playgroud)

这似乎很有趣,因为我做到了,ps但是却一无所获:

  PID TTY           TIME CMD
 7070 ttys001    0:00.06 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp Lucifer
 7072 ttys001    0:00.61 -bash
17723 ttys002    0:00.06 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp Lucifer
17725 ttys002    0:00.06 -bash
38586 ttys002    0:00.16 sertop --no_init
Run Code Online (Sandbox Code Playgroud)

我只想开始一个过程:

self.serapi = subprocess.Popen(['sertop','--no_init'],
    stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,
    preexec_fn=os.setsid,shell=True
    ,)
Run Code Online (Sandbox Code Playgroud)

并杀死它:

    os.killpg(os.getpgid(self.serapi.pid), signal.SIGTERM)
Run Code Online (Sandbox Code Playgroud)

上面的代码本质上是从最上面的答案复制的:

如何终止以shell = True启动的python子进程

但我不确定为什么会收到此消息。我是否成功终止了子进程?我计划启动并杀死其中许多人。


注意我不知道或不需要shell=True。我只是复制了那个,就是我发布的答案/问题的答案。我宁愿没有那个参数。


根据我尝试的答案:

def kill(self):
    self.serapi.wait()
    #self.serapi.kill()
    self.serapi.terminate()
    #os.killpg(os.getpgid(self.serapi.pid), signal.SIGTERM)
    #self.serapi.wait()
Run Code Online (Sandbox Code Playgroud)

以及上述内容的不同排列方式,但似乎没有任何效果。有什么建议吗?

python subprocess kill kill-process

5
推荐指数
1
解决办法
766
查看次数