问题标签 [start-job]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - Powershell 并行作业输出文件
我已经做了很多研究,但仍然无法弄清楚如何完成我想做的事情。
我想在 100 台 Linux 服务器上并行执行相同的任务。
这是我的脚本的简化示例:
我遇到的问题是我想将某些消息(例如意外的 CPU 使用率)写入单独的文件,并且多个作业正在尝试同时写入该文件。
我的想法是将所有消息保存到一个数组中,并将脚本末尾的内容(第二个 foreach 循环)写入文件。
但 Receive-Job 不返回任何变量/对象。
有没有办法返回一个变量/对象?还是有另一种方法来实现我想做的事情?
我将不胜感激任何帮助。谢谢。
powershell - Powershell Start-job 同步输出
我有一个启动工作的 powershell 脚本
然后它继续执行脚本的其余部分。
该工作是一种监视该进程的PID的工作。
我想每隔 n 秒同步打印一次 PID,而不必结束工作。
例如,当脚本的其余部分正在执行时,我想在我的控制台中看到输出。
在powershell中可能有类似的东西吗?
谢谢。
powershell - 从 powershell 脚本中运行 powershell 脚本
我有一个 perl 脚本 perl1.pl。在 perl 脚本中,我调用了一个 powershell 脚本 script1.ps1。在 script.ps1 中,我使用局部变量作为参数调用其他脚本,例如 script2.ps1。我准备了一个powershell脚本script3.ps1。我想从 script1.ps1 与 script2.ps1 并行运行 script3.ps1。我需要传递 sample_script2.ps1 运行的相同参数(局部变量作为参数)。首先需要调用 script3,然后调用 script2。
我试过 powershel.exe 如下
C:..\powershell.exe -FilePath script3.ps1 $a,$b,$c
我已经包含了绕过,执行策略。$a $b $c 是局部变量。但似乎发生的是命令行打开(因为它是我们的脚本被调用的方式)并开始执行 script1.ps1 以及何时上面提到的命令它会停止。我在上面的命令行中输入“exit”,然后 script2 启动。
我怎样才能实现相同的效果,即 script3.ps1 与 script2.ps1 的并行运行。
powershell - Start-Job - 检查脚本块内 robocopy 的 $lastexicode
我正在尝试做一些简单的事情。
我想创建一个 robocopy 作业来启动副本并检查 $lastexitcode。
LOGMESSAGE 是我编写的一个函数,它将记录事件并在出现错误时发送邮件。
不知何故, $lastexitcode 值总是返回到 16 - 即使副本有效。此外,该函数未执行(它在脚本块之外工作)
有人知道我做错了什么吗?
任何帮助,将不胜感激。
谢谢 !
powershell - Start-Job cmdlet 删除传递的对象强制转换
Powershell 版本:3.0
各位编剧你好。我有一个问题,我似乎无法找到答案。
摘要:尝试开始工作时,脚本块参数正在删除 [System.Collections.Specialized.OrderedDictionary] 的演员表并将其替换为 [Hashtable] (也就是说,如果我不转换脚本块的参数)。我的场景示例如下:
当尝试将 OrderedDictionary 对象传递给其中包含键/值对的作业时,它就像传递一个具有比该对象类型预期的更多属性的对象:
我正在使用以下行来执行我的工作:
结果:
错误:无法处理参数“Params”的参数转换。无法创建“System.Collections.Specialized.OrderedDictionary”类型的对象。找不到 System.Collections.Specialized.OrderedDictionary 对象的 Param1 属性。可用的属性是: [Count ] 、 [IsReadOnly ] 、 [Keys ] 、 [Values ] 、 [IsFixedSize ] 、 [SyncRoot ] 、 [IsSynchronized ]
注意:当不传递键/值对时,强制转换仍然存在,并且对象可以很好地传递到脚本块(在参数列表中使用强制转换)。
谁能详细说明确切的原因或 Start-Job cmdlet 正在做什么?我只是用错了工作吗?这种对象类型不能在工作中使用吗?是因为它是一个系统对象吗?
powershell - Powershell启动作业脚本块未执行
我有一些非常简单的代码,旨在将目录中的每个文件转换为 HTML。我的问题是,虽然为每个文件成功创建了一个作业,但脚本块永远不会运行。
我对powershell相当陌生,并且已经尝试过解决这个问题的方法,但似乎无法弄清楚。
powershell - Powershell 脚本 - 在启动作业脚本块中增加进度条
我对 powershell 很陌生(大约 1 周),我正在尝试为我们的帮助台创建一个工具来导入和导出打印机。该工具运行良好,除了在运行代码时表单冻结。
为了减轻冻结,我发现将其作为作业运行可以完成任务,但是我遇到了两个问题。
- 由于工作完成,我无法让进度条增加 1 步。
我无法将变量传递给它。(我对此并不担心,因为它有大量信息,我只需要弄清楚它的语法。如果你也能提供帮助,那就太好了。)
/li>
我找到了解决方案。表单仍然冻结,但我可以在进度条上显示移动。这已经足够好了。
powershell - Powershell Start-Job 作业未完成
我在启动工作时遇到了一些困难,而且我很难找出问题所在。大多数(如果不是全部)工作都没有完成。下面的代码在没有作为工作开始时正常工作。
powershell - Powershell Start-Jobs 节流
我在限制工作和“挂起”或“失败”的工作时遇到了麻烦。这基本上是我想要做的。
我想运行 5 个并发作业,很简单。
问题是当我查询没有响应的服务器时,作业挂起并且脚本永远不会结束。我已经尝试添加...
...在最后一个花括号之上,但所做的只是有效地将并发限制为一个线程,直到 20 秒过去,然后放弃挂起的工作去做其他工作。在那种情况下,整个脚本仍然没有完成。
只要我没有得到无响应的服务器,此代码就可以正常工作,无需节流和工作等待。