go - gRPC Golang 示例服务器运行 2 个进程?
问题描述
我刚开始使用 Go 的 gRPC。我使用以下方式启动服务器:
go run greeter_server/main.go
我运行了关联的客户端,一切都按预期工作。我做了一个天真ps -aux | grep greeter
的然后杀死了相关的进程。我重新启动服务器并收到一个错误,表明端口 50051 已在使用中。我又跑ps
了,没有看到服务器进程。然后我跑了:
lsof -nP -iTCP -sTCP:LISTEN | grep 50051
main 52229 rich_youngkin 3u IPv6 0x8f763a4a32733ba7 0t0 TCP *:50051 (LISTEN)
那令人困惑。然后我又为那个 pid 运行了一次ps
grepping:
ps uax | grep 52229
rich_youngkin 52229 0.0 0.0 4986700 6384 s000 S 3:29PM 0:00.01 /var/folders/9z/lyfc9l3500b_111_x89br7bh0000gn/T/go-build096317928/b001/exe/main
我杀死了这个进程并重新启动了服务器。现在稍微聪明一点,我运行了一个稍微不同ps
的程序,我看到了 2 个进程:
ps aux | grep "/main" 1 ✘ 15:49:25
rich_youngkin 60758 0.0 0.0 4985676 6356 s000 S 3:49PM 0:00.01 /var/folders/9z/lyfc9l3500b_111_x89br7bh0000gn/T/go-build997935897/b001/exe/main
rich_youngkin 60735 0.0 0.1 5113896 20876 s000 S 3:49PM 0:00.86 go run greeter_server/main.go
为什么有2个进程在运行?他们的目的是什么?
谢谢,丰富
解决方案
推荐阅读
- php - 在 Laravel 视图中呈现的父占位符
- html - 仅对 x 轴应用滚动捕捉
- c++ - 通过引用 lambda 传递weak_ptr
- c# - 外观对象如何通知其内容在 WPF 中已更改
- asp.net-mvc - asp.net mvc:多个视图模型默认值
- json - AWS 创建策略 MalformedPolicyDocument
- react-native - React Native 中的内向曲线
- c++ - 使用 snmpSET 和 netsnmp lib 无法设置请求
- flutter - 如何解决“操作系统错误:文件存在,errno = 17”?
- mysql - 将 SQL Server 的触发器转换为 MySQL