小编Bos*_*osh的帖子

新贵脚本与命令行:为什么会有这种行为差异?

我正在尝试设置 Tomcat 以从新贵开始。我发现以下作品:

  description "Tomcat Server"

  start on runlevel [2345]
  stop on runlevel [!2345]
  respawn
  respawn limit 10 5

  setuid tomcat

  env JAVA_HOME=/usr/lib/jvm/default-java
  env CATALINA_HOME=/opt/apache-tomcat-7.0.34

  script
    chdir $CATALINA_HOME
    exec $CATALINA_HOME/bin/catalina.sh run
  end script
Run Code Online (Sandbox Code Playgroud)

但是如果我删除chdir,tomcat 会启动,但是FileNotFound当我.wars加载时有很多例外。(也就是说:.wars它们自己确实加载了但它们在加载时抛出异常。)

请注意,此行为我从命令行调用时所看到的不同catalina.sh。从命令行调用,我可以/opt/apache-tomcat-7.0.34/bin/catalina.sh run 从任何目录(没有 chdiring)运行,一切都很好。

那么为什么chdir在我的新贵脚本中是必要的呢? (新贵环境与我的命令行环境有何不同?)


我不使用 chdir 时看到的错误示例:

Feb 22, 2013 3:00:11 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive my-war.war
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: my-war.log …
Run Code Online (Sandbox Code Playgroud)

scripting tomcat shell upstart

2
推荐指数
1
解决办法
3005
查看次数

标签 统计

scripting ×1

shell ×1

tomcat ×1

upstart ×1