标签: process

跨进程C#访问静态成员

好的,这是问题所在.我有一个第三方c#lib,我正在编写一个关于它的工具.因此,我想从另一个应用程序监控一些静态容器,但当然我无法在我的应用程序域中访问它们.一个简单的例子是:

namespace DefinedInAsembly1
{
     public class Resource
     {
       public static IList<DateTime> DateTimes {get;set;}
     }
}
Run Code Online (Sandbox Code Playgroud)
 namespace DefinedInAssembly2
 {
    class RunningProgram
    {
      static void Main(string[] args)
      {
         while(true)
         {
          Resource.DateTimes.Add(DateTime.Now); 
          Thread.Sleep(10000);
         }
      }
    }
 }
Run Code Online (Sandbox Code Playgroud)
namespace DefinedInAssembly3
{
 class ToolProgram
 {
    static void Main(string[] args)
    {
         //Accessing Resource.DateTimes with the values inserted from RunningProgram
         //Any ideas?
    }

 }
}
Run Code Online (Sandbox Code Playgroud)

c# static process

0
推荐指数
1
解决办法
1251
查看次数

通过部分名称杀死进程

可以请一些人告诉我如何通过部分姓名杀死进程?示例:我想要杀死"资源管理器",但是在代码中我想通过"explor"来植入它来杀死它,其余的应该通过代码查找.这是迄今为止的代码:

    Process[] localByName = Process.GetProcessesByName("explorer");
        foreach (Process p in localByName)
        {
            p.Kill();


        }
Run Code Online (Sandbox Code Playgroud)

谢谢

.net c# process

0
推荐指数
2
解决办法
380
查看次数

如何正确地结束所有程序的过程

我的程序有事件onClosing- 只是隐藏它.但我还需要实现程序的关闭 - 尝试使用任务栏通知项的上下文菜单.

码:

    private void FormMainForm_FormClosing(object sender, FormClosingEventArgs e)
    {
        //canceling closing form
        e.Cancel = true;
        //hide form 
        this.WindowState = FormWindowState.Minimized;
    }

    private void toolStripMenuItem1_Click(object sender, EventArgs e)
    {
        //hide icon from tray
        notifyIcon.Visible = false;
        //get current process
        Process proc = Process.GetCurrentProcess();
        //kill it and close programm
        proc.Kill();
    }
Run Code Online (Sandbox Code Playgroud)

但也读了一下,kill()终止所有工作并"杀死"进程,认为关闭程序可能不正常 - 某些数据可能被破坏或未被存储

还尝试使用proc.closeMainWindow();proc.Close()-但PROGRAMM没有影响-关闭所有窗口,但过程仍在运行.

问题:.kill()这是关闭程序的正确方法,还是另一种方法呢?

c# kill process winforms

0
推荐指数
1
解决办法
1155
查看次数

如何回显shell中的运行进程?

如果我有一个C++程序期望在运行时期间从控制台输入cin,我该如何从shell脚本自动化这个输入?我还需要将其输出存储在一个文件中,但这部分很容易.我已经研究了不同的方法,包括将它回显到/ proc中pid的文件描述符,但似乎没有任何效果.

这是我到目前为止:

#!/bin/sh
g++ -o runme source.cpp
echo <<EOT | ./runme > output
expected program input
more expected program input
even more
EOT
Run Code Online (Sandbox Code Playgroud)

请注意,每行输入都需要在程序中通过cin读取"输入按键",我假设应该发生这种情况,因为脚本中的程序输入由新行分隔.在这里,程序被执行但是在文件中产生相同的输出,无论我在EOT之前放置什么,所以它没有像预期的那样被输入到程序的cin中.

bash shell process

0
推荐指数
1
解决办法
1732
查看次数

用Java覆盖Process类

我是java的新手,我在Java Swing中使用这个多线程应用程序.

我需要创建一个自定义类,它可以生成多个线程并同时执行这些线程.

使用Process生成线程是个好主意吗?

由于无法从ProcessBuilder类扩展,是否有任何其他方法可以将该过程实现为

请分享你的想法.

谢谢.

java parallel-processing swing multithreading process

0
推荐指数
1
解决办法
80
查看次数

同一管道的多个读取进程都可以读取同一条消息

如果有人知道我对管道的帮助表示怀疑,

一个管道可以同时由多个进程共享,从而允许这些进程彼此交换“消息”。当同一管道有多个读取进程时,是否都可以读取同一条消息(仅发送一次而不是多个副本)?

在多线程环境中,写入管道时,进程发送的消息是否可能已损坏?

感谢收听

c unix pipe process

0
推荐指数
1
解决办法
4032
查看次数

流程有自己的记忆吗?

我一直在阅读线程和进程的功能.进程和线程之间的一个主要区别是,线程与创建它的进程共享资源,而进程将拥有自己的一组资源.我想测试这个,所以我打开了我的任务管理器并打开了MS Word,在任务管理器中,有一个名为WINWORD.EXE的新进程已加载,我再次打开另一个MS Word(保持上一个打开)但任务Manager只显示一个运行的WINWORD.EXE进程.我只是不明白,因为需要将两个MS字视为两个独立的过程(因为它们不共享资源).

windows multithreading process

0
推荐指数
1
解决办法
85
查看次数

更改代码的可执行兼容性

我有一个文件MyUtilities.exe.

当我跑: Process.Start("MyUtilities.exe","SomeParameter");

如果在没有管理员权限的情况下运行,则该进程的退出代码为0(OK).如果我以管理员身份运行该代码,退出代码为1!

由于我没有创建MyUtilities.exe我无法修改它.

最后我需要以Process.Start("MyUtilities.exe","SomeParameter");管理员身份运行并让它返回退出代码= 0.我设法做到这一点的方法是将其兼容性更改为:

在此输入图像描述

(右键单击文件 - >属性 - >兼容性 - >以管理员身份运行此程序)

在更改之后,我现在能够以Process.Start("MyUtilities.exe","SomeParameter");管理员身份运行并返回退出代码0.

所以我的问题是如何更改该文件与代码的兼容性,这样我就不必告诉用户右键单击该文件然后更改设置.

c# privileges compatibility process

0
推荐指数
1
解决办法
1826
查看次数

使用exec执行命令并将进程ID传递给另一个命令

我希望您在Linux中执行命令并获取已启动进程的进程ID,并将其传递给另一个命令。

$!在bash中尝试了该变量,如果进程像这样直接启动,它将起作用:

ls &
echo $!
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样使用exec:

exec ls &
echo $!
Run Code Online (Sandbox Code Playgroud)

$!变量将为空白。

我必须使用exec。有什么线索可以解决这个问题吗?

谢谢。

linux bash command-line process exec

0
推荐指数
1
解决办法
2062
查看次数

Java中的流程 - 它们同时工作吗?

我正在通过Process对象执行另一个java程序.
这需要一些时间来完成.与此同时,父程序是否会继续运行还是暂停,以等待子进程停止?

我知道两个线程可以并行运行,是否可以使用一个线程来执行另一个程序?

如果您需要更多细节,请告诉我,如果这太过抽象.

java multithreading process

0
推荐指数
1
解决办法
115
查看次数