有什么方法可以在Linux/AIX中将进程名称从ksh更改为ksh吗



有什么方法可以将进程名称从ksh更改为类似脚本名称"lx_dequeue"的名称吗。我们有一个在AIX服务器上运行的监视应用程序,它的作用是监视进程。但由于我们的监控应用程序使用Java Sigar API,无法监控某些进程,并且无法通过名称"lx_dequeue"获取进程搜索的PID。"lx_dequeue"是一个shell脚本,使用"/oracle/oracle8/bin/lx_dequeue"启动。

Sigar API可以通过搜索关键字"PID"来检测过程的PID;ksh";但不是";lx_出列"。我们不能使用";ksh";作为我们的搜索关键字,由于许多其他进程都有相同的进程名称"ksh",我需要将其更改为";lx_出列";仅用于此特定过程。我该怎么做,有什么可能的办法吗?

当进程运行时,ps-e显示为,

# ps -e | grep 64356914
64356914      -  0:00 ksh

和ps-ef as,

# ps -ef | grep -i "lx_dequeue"
mxuser 64356914        1   0   Jun 04      -  0:00 /bin/ksh /oracle/oracle8/bin/lx_dequeue

更新:通过Sigar API文档后,问题得到解决。我更改了流程搜索表达式如下,它起作用了。FROM:State.Name.sw=lx_dequeueTO:State.Name.sw=ksh,Args.-1.ct=lx_dequeue

否。您需要找到一种方法来指示Sigarneneneba API使用进程名称和参数的组合来可靠地查找lx_dequeue进程。

https://unix.stackexchange.com/a/119991/117549更详细地说,但当调用lx_dequeue脚本时,系统会找到#!/bin/kshsh bang行,并以lx_dequeue脚本作为参数重新调用ksh。这是您看到的执行的最后一个过程:ksh-shell从该文件执行命令。

如果您可以自定义Sigarneneneba API搜索,这个awk语句应该有助于确定这个过程:

ps -eo comm,args | awk '$2 == "/bin/ksh" && $3 == "/oracle/oracle8/bin/lx_dequeue"'

最新更新