谁启动了我的程序?

/

一、自查:
(1)SSH登录服务器,通过ps命令查看指定的进程是由哪个用户启动的:
查看进程信息,如查看nginx进程
ps -ef | grep nginx | grep -v grep

输出信息的第一列为当前进程的启动用户,第二列为pid(即当前进程的id); 如无输出信息则表明此进程不存在。

开放平台的进程关键字有:nginx、 mysql、 mongodb、 influxdb、activemq、rocketmq、emq、location-server-web、location-server-engine。

(2)通过ls命令查看程序目录下的文件属于哪个用户:
查看指定目录下的文件信息
ls -l /home/seekcy/softs/nginx/logs

ls -l /home/seekcy/js_open/location-server/logs

ls -l /home/seekcy/js_open/location-engine/logs

输出信息的第二列为文件所属的用户。

二、剖析
真趣开放平台所属的中间件和应用程序,均需由seekcy用户启动。
如果目标进程当前由其他用户启动(多半是root),或曾经有其他用户启动,均有可能导致异常。

三、应对
按顺序执行如下步骤:
(1) 在root用户下,更改目录权限
重新将/home/seekcy目录下的所有文件赋给seekcy用户(简单粗暴的方式)
chown -R seekcy:seekcy /home/seekcy
(2) 在root用户下,kill掉误启动的进程
kill -9
3) 在seekcy用户下,启动目标进程

转载请注明作者和出处,并添加本页链接。
原文链接: //svn.seekcy.com:33382/283

给我留言