使用DmAPService脚本启动dmap服务报错,报错信息:“failed to get ps!”

问题描述

使用DmAPService脚本启动dmap服务报错,报错信息:“failed to get ps!”

排查解决

1、根据报错信息以及DmAPService服务脚本内容可以定位到报错发生的可能原因,可以直接在DmAPService脚本中查找报错信息"failed to get ps!"。原因可能为服务脚本需要使用操作系统ps命令去执行相关操作,但是未能成功获取到ps命令。导致未能成功获取到ps命令的可能原因是:
(1)ps命令不存在
(2)ps命令的路径与服务脚本中的路径不同
(3)dmdba用户无权限使用ps命令

2、检查操作系统ps命令
(1)可以使用命令whereis ps 查看ps的路径

[root@localhost ~]# whereis ps
ps: /usr/bin/ps

(2)根据上面查到的ps命令路径,检查DmAPService服务脚本中是否有包含该路径
DmAPService服务脚本会去判断操作系统下/usr/ucb/ps、/usr/bin/ps、/bin/ps是否存在,只要其中一个存在即可使用对应的ps命令
(3)检查ps命令的权限,普通用户是否有权限执行

[root@localhost ~]# ls -l /usr/bin/ps
-rwx------ 1 root root 137672  3月 15  2020 /usr/bin/ps
正常情况下,ps命令权限应为755,当前环境ps命令为700,所以普通用户没有ps命令执行权限。

(4)使用dmdba用户执行ps命令

[dmdba@localhost bin]$ ps -ef|grep dms
-bash: /usr/bin/ps: 权限不够                     -----提示权限不够

3、使用root用户修改ps命令权限为755

[root@localhost ~]# chmod 755 /usr/bin/ps
[root@localhost ~]# ls -l /usr/bin/ps
-rwxr-xr-x 1 root root 137672  3月 15  2020 /usr/bin/ps

4、dmdba用户执行ps命令以及DmAPService脚本

[dmdba@localhost bin]$ ps -ef|grep dmap
dmdba      74008   73545  0 18:19 pts/1    00:00:00 grep dmap
[dmdba@localhost bin]$ ./DmAPService start
Starting DmAPService:                                      [ OK ]
[dmdba@localhost bin]$ ps -ef|grep dmap
dmdba      74032       1  0 18:19 pts/1    00:00:00 /home/dmdba/dm46/bin/dmap
dmdba      74045   73545  0 18:19 pts/1    00:00:00 grep dmap
[dmdba@localhost bin]$

解决办法

原因:
由于操作系统ps命令权限为700,普通用户无执行权限,所以报错。

解决办法:
使用root用户修改操作系统ps命令权限为755。
chmod 755 /usr/bin/ps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值