有人知道下面描述的问题吗?
它是运行 Computer Associates XCOM Data Transport 的 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
答案1
我不知道您在此处提到的 CA XCOM 软件。
但如果它的行为与 Linux 上运行的大多数其他服务一样,那么如果服务之前没有完全停止,则可能会发生此类错误。在这种情况下,存储进程 ID 的先前“pid”文件仍然存在。
如果“xcomd”有停止或关闭选项,则先尝试该选项,然后尝试重新启动它。
或者,您可以尝试手动移动(或删除)相应的 pid 文件。这个 pid 文件的名称和位置大致是 /var/run/xcomd.pid。如果 xcom.pid 文件中存储了 7618,并且您确定该进程不再运行,则删除该 pid 文件并尝试重新启动它。
答案2
我知道这是一个老问题,但我认为我可以正确回答它,因为我是 CA XCOM Data Transport 的工程师。
'xcomd' 是 CA XCOM 守护进程。该命令用于启动和停止守护进程,以及设置其他参数。或者换句话说,xcomd 命令控制守护进程。守护进程本身作为后台进程运行,以管理 XCOM 资源。
从您给出的输入可以看出,您输入了命令
#/usr/sbin/xcomd
在时间 08:46:48 和
# ps aux | grep xcom
在时间 08:53。因此,在您检查 xcomd 是否已在运行之前,大约有 7 分钟的间隔。现在,根据有多少用户有权访问您提到的 Red Hat Enterprise Linux 计算机,其中一个可能性是其他用户可能在此期间停止/杀死了 xcomd。而且由于附言生成一个静态列表,即执行命令时正在运行的快照,xcomd 不会显示在输出中。
错误代码XCOMU0474E只是意味着 xcomd 已在运行并且您无法启动多个实例。
此时,如果您想停止已经运行的 xcomd 实例,那么您可以使用
-C或者-s根据是否需要正常停止或立即停止来标记。
-c[y] - 终止守护进程并释放共享内存。此选项应作为最后的手段,因为它将立即关闭调度程序。
-s - 通过向调度程序发送请求来停止 XCOM 守护进程。
成功停止/杀死守护进程后,重新启动它,这次你将不会得到XCOMU0474E错误。