- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个演示脚本,我将其放入 Jenkins 作业中:
Write-Host "##############################################"
$ErrorActionPreference = "Stop"
Write-Host "ErrorActionPreference: $ErrorActionPreference"
Write-Host "whoami: $(whoami)"
$PSVersionTable | Format-Table
try {
cmd /c "comanddoesnotexist c:/foo c:/bar"
} catch {
Write-Host "### Exception! ###"
}
Write-Host "################### TRACE ###########################"
Trace-Command -Name errorrecord -Expression { cmd /c "comanddoesnotexist c:/foo c:/bar" } -PSHost
Write-Host "##############################################"
当我在本地运行它时,我得到以下结果:
##############################################
ErrorActionPreference: Stop
whoami: td\builder
Name Value
---- -----
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Der Befehl "comanddoesnotexist" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
################### TRACE ###########################
Der Befehl "comanddoesnotexist" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
##############################################
但是,当我通过 Jenkins 运行完全相同的东西时,我确实得到了以下信息:
[PowerShell_DummyChecks] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Users\BUILDE~1\AppData\Local\Temp\jenkins5194440861464562005.ps1'"
##############################################
ErrorActionPreference: Stop
whoami: td\builder
Name Value
---- -----
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
### Exception! ###
################### TRACE ###########################
cmd : Der Befehl "comanddoesnotexist" ist entweder falsch geschrieben oder
In C:\Users\builder\AppData\Local\Temp\jenkins5194440861464562005.ps1:16 Zeichen:48
+ ... cord -Expression { cmd /c "comanddoesnotexist c:/foo c:/bar" } -PSH ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Der Befehl "com...eschrieben oder:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Build step 'Windows PowerShell' marked build as failure
Finished: FAILURE
这个“RemoteException”从何而来 - 为什么会被捕获?请注意,Jenkins 服务正在使用与在本地运行时相同的帐户执行。
更糟糕的是,这个问题似乎只存在于上述 Win10 + PowerShell 组合中,当我在另一台(较旧的)服务器上运行相同的作业时,我得到以下(预期的)结果:
[PowerShell_DummyChecks] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Users\BUILDE~1\AppData\Local\Temp\jenkins5640455886657276493.ps1'"
##############################################
ErrorActionPreference: Stop
whoami: td\builder
Name Value
---- -----
PSVersion 5.1.14393.3053
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.3053
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Der Befehl "comanddoesnotexist" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
################### TRACE ###########################
Der Befehl "comanddoesnotexist" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
##############################################
Build step 'Windows PowerShell' marked build as failure
Finished: FAILURE
现在,再添加一层疯狂:
when I run this script remotely via Enter-PSSession, it always fails with the "weird" behavior as on the new server. (also on the old hosts)
有人知道这里发生了什么吗?
最佳答案
注意:所有这些仅在 Windows PowerShell 5.1 上经过测试/验证
当 PowerShell 在没有附加控制台的情况下运行时,STDERR 会生成“RemoteException”。 (在 PS 远程 session 中也是如此)。当 powershell“看到”一个控制台(即 CREATE_NEW_CONSOLE 或没有特定标志)时,它 will not generate any exception or error , 相反它会只需将来自子进程的 STDERR 输出通过管道传输到它自己的 STDERR 流。此 STDERR 输出将依次显示在控制台窗口中,而不会任何红色高亮或 PS 异常。
从使用“CREATE_NO_WINDOW”或“DETACHED_PROCESS”标志调用的进程运行时,您似乎遇到了麻烦。
在 Windows 10 1809 中:在没有控制台的情况下运行 powershell.exe 时,只需 like Jenkins does it (Java Runtime.exec),它就像在远程 session 中运行一样 (Enter-PSSession
)(参见 #3996)。
在 Windows 10 1607和1903 中:在 STDERR 处理方面,没有控制台的本地启动的 powershell.exe 就好像它有一个控制台(就像从 cmd.exe 运行一样)。(没有异常生成,而是子进程在 STDERR 上的所有输出都通过 powershell.exe 的 STDERR 传递)
旁注:显式使用 Enter-PSSession
时,PoSh 在 1607、1809 和 1903 上的行为相同。
一个可行的解决方案是通过使用“CREATE_NEW_CONSOLE”标志执行 CreateProcess 的应用程序包装所有 powershell.exe 调用,并将 stdout 以及 stderr 重定向到它的父流。MSDN example可以很容易地修改为这样的“代理应用程序”。
关于通过远程运行空间运行时 PowerShell RemoteException 不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57166858/
1) 谁能帮助我了解“Remoteexception”的概念?一般是什么意思? 2) 另外,unwrapRemoteException 是什么意思?不确定它的意思是“如果这个远程异常包含一个 look
所以我为 Android 操作系统编写了一个服务和一个 Activity 。 我的服务在它自己的进程中运行,所以我的 Activity 和服务之间的所有通信都是通过 IPC 进行的。为此,我使用标准的
我有这个演示脚本,我将其放入 Jenkins 作业中: Write-Host "##############################################" $ErrorAction
我的 IntentService 中有以下代码,用于向注册的客户端发送 Message: for(Messenger client : clients) { client.send(aMess
我注意到HDFS删除命令将随机失败。例如,在MapReduce作业中,我在启动时删除目录。有时它会因以下错误而失败,但是在第二次尝试时会成功。 org.apache.hadoop.ipc.Remote
NullPointerException 是运行时异常的一个可能原因是因为每个方法都可以抛出它,所以每个方法都需要有一个“抛出 NullPointerException”,并且会很丑陋。但这发生在 R
我遵循了本教程:https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html#5 我在命令提示符下
我在我的 EC2 实例上设置了 CHD4。一切正常。 当我尝试访问时:http://ec2-00-000-000-000.us-west-1.compute.amazonaws.com:50075/w
我正在将信息输入数据库,但遇到一些 EJB 异常。信息的路径来自带有操作类的 JSP,它将值插入到远程 EJB 方法中,该方法内部(在该方法内)调用另一个方法来访问 hibernate,然后调用另一个
我有一个奇怪的问题。我正在尝试使用 RMI 编写一个简单的 Hello World java 程序。这是我的文件,全部属于同一个包: Hello.java: package com.something
我正在使用 ubuntu 15.04 进行 RMI 和 SQL 编程。我正在编写以下 3 个文件: ServerIntf.java 、 ServerImpl.java 和 Server.java 当我
我已将 Eclipse 设置为生成有关缺少 Javadoc 标记的警告。但是,我想抑制针对 RMI 接口(interface)缺少 @throws RemoteException 标记的警告,因为这些
这是我想要强制抛出远程异常的代码: transient Bicycle b=null; public Bicycle getBicycle() { if(b==null) {
我想将一些文件从 Windows 机器复制到在 SingleNode 上的 ubuntu 14.04.02 上运行的 hadoop。这是用于此目的的代码; Configuration configur
我无法使用 Hadoop 的 WebHDFS REST API 创建文件。 按照文档,我正在这样做。 curl -i -X PUT "http://hadoop-primarynamenode:500
我正在运行hadoop群集,其中Ubuntu主机作为主从服务器,虚拟机在其上作为另一个从属服务器运行(2节点群集)。 似乎应该在No data nodes are started上解决的问题的解决方案
以下方法: private void startServer() { // snippet that starts the server on the local machine
以下方法: private void startServer() { // snippet that starts the server on the local machine
以下方法: private void startServer() { // snippet that starts the server on the local machine
以下方法: private void startServer() { // snippet that starts the server on the local machine
我是一名优秀的程序员,十分优秀!