相关疑难解决方法(0)

在父进程被终止时杀死子进程

我正在使用System.Diagnostics.Process我的应用程序中的类创建新进程.

当/如果我的应用程序崩溃了,我希望这个进程被杀死.但是如果我从任务管理器中删除我的应用程序,子进程就不会被杀死.

有没有办法让子进程依赖于父进程?

.net c# process

147
推荐指数
8
解决办法
7万
查看次数

在C#中以编程方式杀死进程树

我以编程方式启动Internet Explorer,代码如下所示:

ProcessStartInfo startInfo = new ProcessStartInfo("iexplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "http://www.google.com";
Process ieProcess = Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud)

这将生成Windows任务管理器中可见的2个进程.然后,我尝试用以下方法终止进程:

ieProcess.Kill();
Run Code Online (Sandbox Code Playgroud)

这导致任务管理器中的一个进程被关闭,另一个进程仍然存在.我尝试检查任何具有子进程的属性,但没有找到.我怎么能杀死其他进程呢?更一般地说,如何杀死与Process.Start开始的进程相关的所有进程?

.net c# kill-process

40
推荐指数
6
解决办法
4万
查看次数

退出我的应用的所有实例

我有以下功能:

private void TakeOverAllScreens()
    {
        int i = 0;
        foreach (Screen s in Screen.AllScreens)
        {

            if (s != Screen.PrimaryScreen)
            {
                i++;
               Process.Start(Application.ExecutablePath, "Screen|" + s.Bounds.X + "|" + s.Bounds.Y + "|" + i);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它为PC上的每个屏幕创建了一个单独的应用程序实例.

如何创建一个关闭所有这些函数的退出函数?该函数需要在应用程序的任何实例上工作,而不仅仅是我的"主"实例.

c# winforms

8
推荐指数
1
解决办法
2951
查看次数

如何使用C#限制Windows进程的CPU使用率

我需要编写一个类,它将附加到某些Windows进程,监视和限制其CPU使用率.流程优先级的改变对我没有帮助,所以我真的需要编写一个与BES或ThreadMaster基本类似的程序.所以我需要创建一个类似这样的类(伪代码):

public void cpuLimiter(pid)
{
    ProcessHandle handle = attachToProcess(pid);
    while (cpuLimiting)
    {
        if (handle.cpuUsage > 30%)
        {
            handle.sleep(100miliseconds);
        }
        sleep(10miliseconds);
    }
    closeHandle(pid);
}
Run Code Online (Sandbox Code Playgroud)

我希望我说清楚我想要完成什么,只是我不知道如何.感谢每一位帮助.

c# cpu-usage cpu-time thread-priority

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