有人知道下面描述的问题吗?
它是运行 Computer Associates XCOM 数据传输的 Red Hat Enterprise Linux。
#/usr/sbin/xcomd
2009/05/18 08:46:48 PRG=xcomd PID=7618
XCOMU0474E xcomd is already running. Multiple instances not supported.
# ps aux | grep xcom
root 10038 0.0 0.0 51084 716 pts/1 S+ 08:53 0:00 grep xcom
我不知道您在此处提到的 CA XCOM 软件。
但是,如果它的行为与在 linux 上运行的大多数其他服务一样,那么如果该服务之前没有完全停止,则可能会发生这种类型的错误。在这种情况下,存储进程 ID 的先前“pid”文件仍然存在。
如果“xcomd”有停止或关闭选项,请先尝试该选项,然后再尝试重新启动它。
或者,您可以尝试手动尝试移动(或删除)相应的 pid 文件。这个 pid 文件的名称和位置的粗略猜测是 /var/run/xcomd.pid。如果 xcom.pid 文件中存储了 7618 并且您确定该进程不再运行,则删除 pid 文件并尝试再次启动它。
我知道这是一个老问题,但我认为我可以正确回答它,因为我是 CA XCOM 数据传输的工程师。
“xcomd”是 CA XCOM 守护进程。该命令用于启动和停止守护程序,以及设置其他参数。或者换句话说,xcomd 命令控制守护进程。守护进程本身作为后台进程运行以管理 XCOM 资源。
从你给的输入可以看出你输入了命令
在时间 08:46:48 和
在时间 08:53。因此,在您检查 xcomd 是否已经在运行之前,大约有 7 分钟的间隔。现在,取决于有多少用户可以访问您提到的 Red Hat Enterprise Linux 机器,其他用户可能同时停止/杀死了 xcomd 的可能性之一。由于ps会生成一个静态列表,即执行命令时正在运行的内容的快照,因此 xcomd 不会显示在输出中。
错误代码XCOMU0474E仅表示 xcomd 已在运行,您不能启动多个实例。
此时,如果您想停止已经运行的 xcomd 实例,那么您可以使用
-c或-s标志来完成,具体取决于是否需要正常停止或立即停止。
-c[y] - 终止守护进程并释放共享内存。这个选项应该作为最后的手段保留,因为它会立即关闭调度程序。
-s - 通过向调度程序发送请求来停止 XCOM 守护进程。
成功停止/杀死守护程序后,再次重新启动它,这次您将不会收到XCOMU0474E错误。