Web services 复制项:进程无法访问该文件
我有一份詹金斯的工作,工作内容如下Web services 复制项:进程无法访问该文件,web-services,powershell,jenkins,powershell-2.0,powershell-3.0,Web Services,Powershell,Jenkins,Powershell 2.0,Powershell 3.0,我有一份詹金斯的工作,工作内容如下 停止Web服务 删除Web服务 将项目从Jenkins工作区复制到服务器路径 创建Web服务 启动Web服务 下面是我的PowerShell脚本: Get-ChildItem "C:\Location\*" $service = Get-Service -Name value -Computername $env:SERVER -ErrorAction SilentlyContinue sc.exe \\$env:SERVER stop value Write
Get-ChildItem "C:\Location\*"
$service = Get-Service -Name value -Computername $env:SERVER -ErrorAction SilentlyContinue
sc.exe \\$env:SERVER stop value
Write-Host "value STOPPED"
sc.exe \\$env:SERVER delete val
Write-Host "val DELETED"
Copy-Item "C:\Location\*" "\\$env:SERVER\d$\Location" -Force -Recurse
sc.exe \\$env:SERVER create val start=auto DisplayName ="val" binPath= D:\Location.exe
sc.exe \\$env:SERVER description value"value"
sc.exe \\$env:SERVER start value
Write-Host "value STARTED"
if ($error) { exit 1 }
错误日志:
Copy-Item : The process cannot access the file '\\Location' because it is being used by another process.
At C:\Users\Administrator\AppData\Local\Temp\hudson2059984936352103941.ps1:18 char:5
+ Copy-Item "C:\Location\*" " ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Copy-Item], IOException
+ FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand
[SC] CreateService FAILED 1072:
The specified service has been marked for deletion.
[SC] ChangeServiceConfig2 FAILED 1072:
The specified service has been marked for deletion.
[SC] StartService FAILED 1058:
The service cannot be started, either because it is disabled or because it has no
enabled devices associated with it.
复制项目:进程无法访问文件“\\Location”,因为另一进程正在使用该文件。
在C:\Users\Administrator\AppData\Local\Temp\hudson205994936352103941.ps1:18字符:5
+复制项目“C:\Location\*”。。。
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:NotSpecified:(:)[Copy Item],IOException
+FullyQualifiedErrorId:System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand
[SC]CreateService失败1072:
指定的服务已标记为删除。
[SC]ChangeServiceConfig2失败1072:
指定的服务已标记为删除。
[SC]StartService失败1058:
无法启动该服务,原因可能是该服务已被禁用,也可能是该服务没有可用性
已启用与之关联的设备。
您能帮我解决这个错误吗?我是否需要重新启动部署服务器,以便终止我的进程?如果是这样,我觉得这与此无关,并且无法在prod服务器中执行。问题是您有另一个进程正在使用dll。由于正在使用dll,您无法删除它。您需要确保没有进程正在使用dll删除dll之前,请先关闭它。要实现此目的,您需要找出哪个进程正在使用它,为什么要使用它,并确保它将被关闭。如果下次也出现此问题,则需要将关闭该进程添加到脚本中。问题是您有另一个进程正在使用dll。因为正在使用,您无法删除它。您需要确保没有进程正在使用dll,然后才能删除它。要实现此目的,您需要找出哪个进程正在使用它,为什么要使用它,并确保它将被关闭。如果下次也出现问题,则需要将关闭该进程添加到脚本中 只需找到阻塞dll的进程并停止它before@4c74356b41我找不到任何具有该名称的进程。只需找到阻止dll的进程并停止它before@4c74356b41我找不到任何具有该名称的流程。您能告诉我如何实现吗this@Bhave查看流程列表,列出无法执行的流程列表排除dll的使用。尝试逐个停止它们并查看何时可以删除dll。当您能够这样做时,您还将知道是哪个进程导致了问题。此时,请复制dll并重新启动进程以重现问题。根据您的发现调整脚本并确保其正常工作。您能告诉我如何实现吗 this@Bhave查看进程列表,列出无法排除dll使用的进程列表。尝试逐个停止这些进程,然后查看何时可以删除dll。当您能够这样做时,您还将知道是哪个进程导致了问题。此时,请复制回dll并重新启动进程以重现问题。请调整根据您的发现编写脚本,并确保它有效。