Linux Linux 命令行中如何为进程名创建一个 Tag,方便管理

tiseheaini · 2019年03月29日 · 最后由 tiseheaini 回复于 2019年03月29日 · 6025 次阅读

linux 命令行中如何为进程名创建一个 tag

例如我创建了 3 个进程

ruby listen_order.rb
ruby listen_order.rb
ruby listen_order.rb

当使用 ps aux | grep ruby 时会显示

tiiny             38891   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb
tiiny             38892   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb
tiiny             38893   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb

理想的进程名称是

tiiny             38891   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb [order-100]
tiiny             38892   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb [order-101]
tiiny             38893   0.0  0.2  2465256  14064 s011  S+    3:32AM   0:00.14 ruby listen.rb [order-102]

我看到 puma 命令中

tiiny             39266   0.0  0.1  2610228   5392 s006  S+   Wed04AM   0:39.81 puma 3.11.3 (tcp://localhost:3030) [test-api]  TERM_SESSION_ID=w0t6p0:5BD60B0F-0C02-4CCD-B58C-3119FA04BCEB SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.hxpRewkMnu/Listeners Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.iTAp1K5WBk/Render

想请教一下 [test-api] 是如何写到进程标题上的

puma 3.11.3 (tcp://localhost:3030) [test-api] 

Google 搜 ruby change process name,前几条链接就有答案:https://stackoverflow.com/a/451670/6680386

$0 = 'ruby [test-api]'

上面的方法是在 ruby 进程中修改进程名,楼主想要在命令行更改的话,得传些值进去进程吧

@hjiangwen 不是在 ruby 中改变进程名称 是使用 ruby 调起一个进程,下面例子中 test 没有办法修改修改源码。

system("test --arg 1 --arg 2")
需要 登录 后方可回复, 如果你还没有账号请 注册新账号