标签: process

如何在PowerShell中将输出捕获到外部进程的变量中?

我想运行一个外部进程并将其命令输出捕获到PowerShell中的变量.我目前正在使用这个:

$params = "/verify $pc /domain:hosp.uhhg.org"
start-process "netdom.exe" $params -WindowStyle Hidden -Wait
Run Code Online (Sandbox Code Playgroud)

我已经确认命令正在执行但我需要将输出捕获到变量中.这意味着我无法使用-RedirectOutput,因为这只会重定向到文件.

powershell process

140
推荐指数
7
解决办法
24万
查看次数

在C#中执行批处理文件

我正在尝试在C#中执行批处理文件,但我没有运气好.

我在互联网上找到了多个例子,但它对我不起作用.

public void ExecuteCommand(string command)
{
    int ExitCode;
    ProcessStartInfo ProcessInfo;
    Process Process;

    ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
    ProcessInfo.CreateNoWindow = true;
    ProcessInfo.UseShellExecute = false;

    Process = Process.Start(ProcessInfo);
    Process.WaitForExit();

    ExitCode = Process.ExitCode;
    Process.Close();

    MessageBox.Show("ExitCode: " + ExitCode.ToString(), "ExecuteCommand");
}
Run Code Online (Sandbox Code Playgroud)

命令字符串包含批处理文件的名称(存储在其中system32)以及它应该操作的一些文件.(例如:) txtmanipulator file1.txt file2.txt file3.txt.当我手动执行批处理文件时,它可以正常工作.

执行代码时,它给了我一个 **ExitCode: 1** (Catch all for general errors)

我究竟做错了什么?

c# process batch-file processstartinfo

134
推荐指数
5
解决办法
33万
查看次数

如何在.NET中生成进程并捕获其STDOUT?

我需要生成一个作为控制台应用程序的子进程,并捕获其输出.

我为方法编写了以下代码:

string retMessage = String.Empty;
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();

startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;

startInfo.UseShellExecute = false;
startInfo.Arguments = command;
startInfo.FileName = exec;

p.StartInfo = startInfo;
p.Start();

p.OutputDataReceived += new DataReceivedEventHandler
(
    delegate(object sender, DataReceivedEventArgs e)
    {
        using (StreamReader output = p.StandardOutput)
        {
            retMessage = output.ReadToEnd();
        }
    }
);

p.WaitForExit();

return retMessage;
Run Code Online (Sandbox Code Playgroud)

但是,这不会返回任何内容.我不相信该OutputDataReceived事件被回调,或者该WaitForExit()命令可能阻塞该线程,因此它永远不会回调.

有什么建议?

编辑:看起来我在回调中努力了.这样做:

return p.StandardOutput.ReadToEnd(); 
Run Code Online (Sandbox Code Playgroud)

似乎工作正常.

.net c# process spawning

133
推荐指数
7
解决办法
11万
查看次数

等待"任何过程"完成

bash中是否有任何内置功能可以等待任何进程完成?该wait命令仅允许等待子进程完成.我想知道在继续执行任何脚本之前是否有任何方法可以等待任何进程完成.

这样做的机械方法如下,但我想知道bash中是否有任何内置功能.

while ps -p `cat $PID_FILE` > /dev/null; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

bash scripting process wait

133
推荐指数
9
解决办法
14万
查看次数

linux中的top -c命令用于过滤基于processname列出的进程

top -c
Run Code Online (Sandbox Code Playgroud)

Top列出了所有进程,有很好的选项可以通过使用选项-u按用户名过滤进程,但我想知道是否有任何简单的方法来根据顶部输出的COMMAND列下列出的进程名过滤进程.

例如,我想要top -some选项-substring of processname和top显示pids只在其命令名中包含此子字符串

unix linux process top-command

130
推荐指数
6
解决办法
15万
查看次数

node.js子进程 - spawn和fork之间的区别

这似乎是一个基本问题,但我找不到任何文档:

分叉和生成node.js进程有什么区别?我已经读过,分叉是一个特殊的产卵案例,但是使用它们的不同用例/反应有哪些?

process parent-child node.js

127
推荐指数
3
解决办法
4万
查看次数

如何在Unix/Linux中获取进程的路径

在Windows环境中,有一个API来获取正在运行进程的路径.在Unix/Linux中有类似的东西吗?

或者在这些环境中还有其他方法吗?

unix linux environment process path

126
推荐指数
6
解决办法
16万
查看次数

Taskkill/f不会杀死进程

当我从VS启动VS的实验实例进行调试并停止调试时(有时直接从父VS),zombile devenv.exe进程仍在运行,我无法杀死.它坚持我的许多dll.

当我以管理员身份登录这台64位Win7机器时,我希望能够杀死我想要的任何进程.

I tried (from Administrator command prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe
Run Code Online (Sandbox Code Playgroud)

无返回任何错误,TASKKILLPSKILL返回终止/终止进程的成功消息.但是devenv.exe仍然运行,它不会因为PID保持不变而重新生成.它只在系统重启时消失,这不是一个很好的解决方案.

注意.LockHunter显示devenv已经锁定了自己.它无法解锁它.

Process Monitor显示devenv处于某种

上面的屏幕截图是Process Monitor的输出,显示devenv处于某种"Process Profiling"循环中(右键单击它并单击新选项卡中的打开图像以正确查看它).

有关如何在Windows上杀死此类进程的任何想法?

windows process windows-7 devenv windows-7-x64

123
推荐指数
9
解决办法
36万
查看次数

通过查找.BAT中使用的端口来终止进程

在Windows中,什么可以查找端口8080并尝试通过.BAT文件终止它正在使用的进程?

windows process batch-file kill-process

119
推荐指数
7
解决办法
30万
查看次数

线程和多处理模块之间有什么区别?

我正在学习如何使用Python中threadingmultiprocessing模块和并行运行某些操作并加快我的代码.

我发现这很难(可能因为我没有任何理论背景)来理解一个threading.Thread()对象和一个对象之间的区别multiprocessing.Process().

此外,我并不完全清楚如何实例化一个作业队列,并且只有4个(例如)它们并行运行,而另一个则在执行之前等待资源释放.

我发现文档中的示例清晰,但不是很详尽; 一旦我尝试使事情复杂化,我就会收到许多奇怪的错误(比如一种无法腌制的方法,等等).

那么,我什么时候应该使用threadingmultiprocessing模块?

您能否将我链接到一些资源,解释这两个模块背后的概念以及如何正确使用它们来完成复杂的任务?

python parallel-processing multithreading process multiprocessing

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