暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 LeeWen2020 2022-06-23
1335

问题描述

使用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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论