如何使用`script -c`命令启动tomcat?


0

我想用命令启动tomcat:

script -c "sh /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh"

运行该命令后,控制台将显示tomcat已成功启动的消息。

ps -ef | grep tomcat表明tomcat没有启动。

然后我尝试使用script没有-c选项的命令:

[root@xxx test]#script
Script started, file is typescript01
[root@xxx test]# sh /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh 
Using CATALINA_BASE:   /usr/program/tomcat/tomcat-8.0.50
Using CATALINA_HOME:   /usr/program/tomcat/tomcat-8.0.50
Using CATALINA_TMPDIR: /usr/program/tomcat/tomcat-8.0.50/temp
Using JRE_HOME:        /usr/program/java/jdk1.8.0_112
Using CLASSPATH:       /usr/program/tomcat/tomcat-8.0.50/bin/bootstrap.jar:/usr/program/tomcat/tomcat-8.0.50/bin/tomcat-juli.jar
Tomcat started.

然后ps -ef | grep tomcat显示tomcat已启动。

我怎样才能启动tomcat script -c


注意你的第一个ps没有证明tomcat没有启动,只是它没有保持运行,这是不同的。对于交互式案例,如果您结束script子shell(control-D,退出或注销),tomcat是否仍在运行?如果不是因为pty'挂断'可能会死亡,尽管只有当你或某人更改了配置时才会发生这种情况,因为默认配置nohup用来阻止这种情况。你为什么还需要script?正常的tomcat不应该使用tty。如果你只是想记录启动,path/startup.sh >logfile应该就够了。
dave_thompson_085

我已经尝试过你的测试,在取消之后script,tomcat仍在运行<br/>这不是我使用script -c命令启动tomcat的一个特殊原因,我只是遇到了这个试验并且想弄明白为什么script -c可以' t开始一个tomcat。<br>谢谢,:)
jacky

@ dave_thompson_085奇怪的是,我尝试添加sleepscript -c "/usr/program/tomcat/tomcat-8.0.50/bin/startup.sh && sleep 1m"你提到的命令中,可以找到tomcat ps -ef,正如你所说,tomcat实际上是启动的,但是pty挂断所以tomcat是shutdown.thanks。
杰克

@ dave_thompson_085而且我也可以使用nohup来启动tomcat,script -c "nohup /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh"虽然script命令结束,但tomcat可以在ps -ef
jacky

shscript -c "sh /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh"实际需要?我的脚本没有设置可执行文件?
叮叮,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.