前言
需要执行的jar为:sysrd-test.jar,并已经上传到了Linux服务器上!
直接运行方式
java -jar sysrd-test.jar
通过这种方式部署的时候,SecureCRT的shell是被锁定的,我们无法再执行其他的操作,如下:
[root@48 opt]# java -jar sysrd-test.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.4.4.RELEASE)
2017-05-25 14:13:27.909 INFO 29120 --- [ main] c.t.srd.tcldp.SrdTcldpApplication : Starting SrdTcldpApplication v0.0.1-SNAPSHOT on 48.sysrd with PID 29120 (/opt/sysrd-test.jar started by root in /opt)
2017-05-25 14:13:27.915 INFO 29120 --- [ main] c.t.srd.tcldp.SrdTcldpApplication : The following profiles are active: dev
2017-05-25 14:13:33.807 INFO 29120 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor
2017-05-25 14:13:33.828 INFO 29120 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2017-05-25 14:13:33.829 INFO 29120 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.2.1 created.
2017-05-25 14:13:33.830 INFO 29120 --- [ main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized.
2017-05-25 14:13:33.832 INFO 29120 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.2.
如果我们还想做其他的操作除非重新启动一个shell终端,或者是Ctrl+C结束当前的程序。
后台运行方式
java -jar sysrd-test.jar &
通过这种方式运行的程序,会在后台继续运行,我们也可以进行其他的操作,如果此时,我们想关闭刚才运行的程序,可以通过下面几种方式:
方式一:
ps aux // 查看所有运行的程序的进程
kill 进程号// 选中程序对应的进程,并kill掉
方式二:
关闭当前的shell。
也就是说,一旦我们关闭了这个shell,那么整个程序也就结束了。那么,如果我们想即使shell退出或关闭后,程序还能够运行,那怎么办了?
nohup方式运行
nohup java -jar sysrd-test.jar >log.log &
nohup表示不挂断运行命令,即使shell关闭了,程序依然会在后台运行。其中的>log.log表示将程序的输出重定向到log.log文件中,默认的情况下,是输出到当前目录下的nohup.out文件中
这种方式运行的程序,我们想要结束,怎么办了?同样两种方式
方式一:
ps aux // 查看所有运行的程序的进程
kill 进程号// 选中程序对应的进程,并kill掉
方式二:1、使用jobs命令
输出如下:
[root@48 opt]# jobs
[1]+ Running nohup java -jar sysrd-test.jar > log.log &
jobs命令的作用是显示当前后台的运行的任务,每个任务会有一个对应的任务号,上面指令对应的任务号为1,即中括号中对应的数字。
2、fg 1
fg表示将后台任务回调到前台,后面跟的是后台任务对应的任务号。
3、Ctrl+C
最后,通过命令结束任务
来源:CSDN
作者:牛奋lch
链接:https://blog.csdn.net/liuchuanhong1/article/details/72725517