偶尔用到这个指令,每次都要搜,索性自己记个笔记
直接进入主题,首先cd进入tomcat的bin文件夹下,然后可以尝试以下三种启动方式:
<>第一种(当前会话启动):
./startup.sh
效果:
然后tomcat就在后台启动了,我们还可以在当前会话中继续输入其它指令,比如
ps -ef | grep 'tomcat'
来查看我们刚才启动的tomcat服务:
可以看到它的进程id是6951,我们可以使用如下指令将其关闭
kill 6951
这种启动方式是直接后台启动,但不是让tomcat一直就在后台跑了,当我们关闭当前连接linux的会话窗口,tomcat服务也将随之关闭。
<>第二种(带日志的当前会话启动):
./catalina.sh run
效果:
与第一种方式不同的是,第二种方式启动后会显示日志,相当于当前Linux连接会话已经成为了控制台,不能再输入其它Linux指令,而与第一种方式相同的是,当当前连接关闭时,本次启动的tomcat服务也会随之关闭。当然,启动成功后我们也可以使用
ctrl + c来直接关闭本次链接会话中tomcat的启动。
<>第三种(后台永久启动):
最简单的写法:
nohup ./startup.sh &
手动指定tomcat启动时的日志路径:
nohup ./startup.sh > log.file 2>&1 &
想要明白这两者的区别,就要看nohup的具体使用方法了:
* >log.file是将command的输出重定向到log.file文件,即输出内容不打印到屏幕上,而是输出到log.file文件中。
* 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了log.file文件,即将标准出错也输出到log.file文件中。最后一个&,
是让该命令在后台执行。
*
试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出。