我需要编写一个shell脚本,我需要在其中弹出Tomcat服务器(它可能在任何人的系统上)。因此,我想知道如何检查tomcat是否作为服务运行,并且服务为tomcat6 start"或者使用脚本" ./ bin / startup.sh"?
答案 0 :(得分:0)
如果是生产服务器:假设它始终作为服务启动。如果您发现它不是:找到从shell开始的人并解雇他们。
难以言喻,但在生产系统上:切换,保持按照标准运行。如果你自动弹跳(重启):这就是你要做的。
启动startup.sh时会有危险:进程将以任何用户执行脚本的方式启动 - 可能缺少对日志和临时文件的写入权限,或者在下次通过service tomcat start
启动时将其破坏,当服务无法再访问这些文件。
思考它:在startup.sh(或setenv.sh)中检查(至少)当前用户的身份可能是个好主意,如果它不是预期的那个则终止。因此,有效地禁止将startup.sh作为常规用户运行,包括root。