vb.net - 无法停止 com.docker.service
问题描述
很奇怪,我真的不想问,因为关于这个问题有很多话题,但我无法在任何帮助下解决它。
我想docker
完全停止,所以我能够停止Docker Desktop.exe
,但我无法停止调用的服务:com.docker.service
它说:
错误:无法终止 PID 为 10584 的进程“com.docker.service”。原因:访问被拒绝..
但是我在我的任务管理器中看到了该服务。我也试过 shell:Shell("taskkill /F /IM com.docker.service /T", 0)
但不起作用。
这Sub
可以停止Docker Desktop.exe
,但如果我添加com.docker.service
它不会杀死它,所以我无法检查 Docker 是否已启动,因为它会在任务管理器中打开更多文件。
Public Sub stopDocker()
Try
cmd.Kill()
Catch ex As Exception
End Try
psi = New ProcessStartInfo("cmd", String.Format("taskkill /F /IM Docker Desktop.exe /T", 0))
Dim systemencoding As System.Text.Encoding
System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage)
With psi
.UseShellExecute = False
.RedirectStandardError = True
.RedirectStandardOutput = True
.RedirectStandardInput = True
.CreateNoWindow = True
.StandardOutputEncoding = systemencoding
.StandardErrorEncoding = systemencoding
End With
cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True}
AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received
AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received
cmd.Start()
cmd.BeginOutputReadLine()
cmd.BeginErrorReadLine()
End Sub
最后我可以检查是否com.docker.service
正在运行:
If Process.GetProcessesByName("com.docker.service").Length <> 0 Then
MessageBox.Show("docker running")
End if
但是我无法检查是否Docker Desktop.exe
正在运行,我认为是因为我不确定是否有空间。
If Process.GetProcessesByName("Docker Desktop.exe").Length <> 0 Then
MessageBox.Show("docker running")
End if
解决方案
推荐阅读
- awk - awk比lz4解压慢
- pointers - 指针是多态的一个例子吗?
- google-cloud-firestore - 如何插入具有唯一 GUID 的新 Firestore 集合文档?
- python - 使用带有烧瓶的 Authlib 获取和存储刷新令牌
- python - 如果在另一个嵌套列表中找不到,则删除嵌套列表项?
- c++ - “静态 char __ = []() -> char”的含义
- javascript - Chrome 的 JavaScript 分析器中的“任务”需要更长的时间,但没有调用任何函数
- github - Github API - 如何知道一个问题是否被分叉拉取请求关闭?
- c# - 我在 Visual Studio C# 中的项目只响应 D 而不是其他键
- c++ - 是否有一个函数可以接收数组并将其转换为向量?