草庐IT

ZendX_Console_Process_Unix

全部标签

c# - MSYS/Cygwin 使用什么机制来模拟 Unix 域套接字?

我正在尝试编写(在C#中)一个软件,该软件通过(MSYS模拟的)Unix域套接字与另一个使用MSYS构建的软件进行通信。我了解到“套接字服务器”(我不清楚正确的术语是什么)会创建一个临时文件,其内容如下:!59108282F93E1-9E2D051A-46B57EFC-64A1852F59108对应于一个TCP端口,“套接字服务器”正在环回接口(interface)上监听该端口。使用数据包捕获工具,我已经能够确定“套接字客户端”连接到此端口,并通过环回接口(interface)交换信息。我在我的软件中复制了这个行为,“套接字客户端”连接到我的监听端口,但没有传输任何信息。我相信这里还有

c# - Process.Start() 什么时候可以返回 null?

我有一些代码通过使用Process.Start(ProcessStartInfo)来启动一个进程.我从文档中看到,如果重用现有流程,此方法可以返回null。[Returnsa]newProcesscomponentthatisassociatedwiththeprocessresource,ornullifnoprocessresourceisstarted(forexample,ifanexistingprocessisreused).重用现有流程意味着什么,在什么情况下会发生这种情况? 最佳答案 如果您调用pass一个文件(不是

c# - 当所述线程正在执行 Console.ReadLine 时,如何中止 .NET 中的另一个线程?

这个问题在这里已经有了答案:HowtointerruptConsole.ReadLine(11个答案)关闭3年前。我的控制台应用程序正在执行一个完全专注于用户界面的线程,它花费大量时间阻塞在Console.ReadLine()上(这个调用在内部深处花费时间Windows,在.NET框架的控制之外)。我需要中止这个线程。但是,以下代码似乎不起作用:this.UserInterfaceThread.Abort();有什么想法吗?Thread.Interrupt()有什么用吗?更新正如HansPassant指出的那样:TheCLRimposesrathersanerulesonthestat

c# - 等效于没有单独参数的 Process.Start()

我正在编写一个需要运行任意命令的简单应用程序,例如:powershell-Filemyscript.ps1cmd/C"pinglocalhost"Process.Start()将是完美的,除非它要求参数作为单独的参数给出。最初我以为我可以只在第一个空格字符上拆分字符串,但是如果可执行文件路径被引用并包含空格怎么办?有没有像Process.Start()这样的东西,它允许您只给它一个字符串,有或没有参数,然后让它执行它,就像它被粘贴到命令提示符一样? 最佳答案 为什么不直接通过cmd/C运行所有内容?Process.Start("cm

c# - Process.Start(url) 失败

我有一个针对.NET2.0的WinForms应用程序。我们有一份报告说我们的一个按钮不起作用,它所做的只是在他们的默认浏览器中打开一个网页。查看日志我可以看到Process.Start()失败,因为它找不到文件。问题是我们将一个字符串url传递给Start()方法,所以我不明白为什么它会生成此消息。这是日志中的异常:System.ComponentModel.Win32Exception:ThesystemcannotfindthefilespecifiedatSystem.Diagnostics.Process.StartWithShellExecuteEx(ProcessStart

c# - 如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?

当我在logger.Warn下面做任何事情时,我想写信给Console.Out然后我想写信给Console.Err当我记录任何logger.Error及以上的内容时。我将如何编写我的log4net配置文件?到目前为止我有: 最佳答案 您可以创建两个附加程序,并以不同方式配置它们。像(未经测试):编辑:更正了levelMin与levelMax的逻辑错误。 关于c#-如何配置log4netconsoleappender以根据Level写入Console.Err和Console.Out?,我们

c# - 使用 .NET 4.5 编写的 Windows 服务中的 Console.Out 和 Console.Error 竞争条件错误

我在生产中遇到了一个奇怪的问题,Windows服务随机挂起,如果您能帮助我分析根本原因,我将不胜感激。该服务是用C#编写的,并部署到装有.NET4.5的机器上(尽管我也可以用.NET4.5.1重现它)。报错是:ProbableI/Oraceconditiondetectedwhilecopyingmemory.TheI/Opackageisnotthreadsafebydefault.Inmultithreadedapplications,astreammustbeaccessedinathread-safeway,suchasathread-safewrapperreturnedby

c# - 如何在 .NET 4 中使用 Console.CancelKeyPress? (在 .NET 3.5 及以下版本中工作正常)

我正在用C#4编写一个控制台应用程序,我想优雅地取消我的程序,然后按下了Ctrl+C。以下代码我以前用过很多次,但现在在.NET4中尝试使用它时,似乎发生了一个奇怪的未处理异常。namespaceConsoleTest{classProgram{privatestaticboolstop=false;staticvoidMain(string[]args){System.Console.TreatControlCAsInput=false;System.Console.CancelKeyPress+=newConsoleCancelEventHandler(Console_Cancel

c# - Process.MainWindowHandle 的意外行为

我一直在努力理解Process.MainWindowHandle.根据MSDN;"主窗口是进程启动时创建的窗口。初始化后,可能会打开其他窗口,包括Modal和TopLevel窗口,但与进程关联的第一个窗口仍然是主窗口"(强调已添加)但是在调试时我注意到MainWindowHandle似乎改变了值...这是我没有预料到的,尤其是在查阅了上面的文档之后。为了确认行为,我创建了一个独立的WinForms应用程序,它带有一个计时器,每100毫秒检查一次“DEVENV”(VisualStudio)进程的MainWindowHandle。这是这个测试应用程序的有趣部分...IntPtroldHWn

c# - Console.Writeline 对性能的影响

我的应用程序有4个线程。每个线程实际上是一个Timer并在特定的时间间隔内完成一项单独的工作。这些线程使用Console.Writeline显示它们的日志。性能在此应用程序中非常重要。我想知道删除Console.Writeline是否会调整此应用程序的性能? 最佳答案 是的,执行Console.WriteLine需要大量时间。删除Console.WriteLine调用或将其更改为写入数据的缓冲后台线程将真正加快应用程序的速度。但是,您的里程数可能会因使用的操作系统而异。 关于c#-Con