我想用命令启动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
?
我已经尝试过你的测试,在取消之后
—
jacky
script
,tomcat仍在运行<br/>这不是我使用script -c
命令启动tomcat的一个特殊原因,我只是遇到了这个试验并且想弄明白为什么script -c
可以' t开始一个tomcat。<br>谢谢,:)
@ dave_thompson_085奇怪的是,我尝试添加
—
杰克
sleep
到script -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,
—
jacky
script -c "nohup /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh"
虽然script
命令结束,但tomcat可以在ps -ef
是
—
叮叮,
sh
在script -c "sh /usr/program/tomcat/tomcat-8.0.50/bin/startup.sh"
实际需要?我的脚本没有设置可执行文件?
ps
没有证明tomcat没有启动,只是它没有保持运行,这是不同的。对于交互式案例,如果您结束script
子shell(control-D,退出或注销),tomcat是否仍在运行?如果不是因为pty'挂断'可能会死亡,尽管只有当你或某人更改了配置时才会发生这种情况,因为默认配置nohup
用来阻止这种情况。你为什么还需要script
?正常的tomcat不应该使用tty。如果你只是想记录启动,path/startup.sh >logfile
应该就够了。