1. 普通运行
java -jar <name>.jar
运行程序,ctrl+c 停止运行
2. 后台运行
java -jar <name>.jar &
后台运行,关闭终端,停止运行
3. nohup命令运行
nohup java -jar XXX.jar &
当账户退出或终端关闭时,程序仍然运行。
注意,该作业的所有输出被重定向到nohup.out的文件中。
nohup java -jar <name>.jar > Log.log &
或者
nohup java -jar <name>.jar >> Log.log &
所有输出被重定向到Log.log的文件中。"> Log.log" 该命令就是指定日志输出的文件。
">>"表示将输出以追加的方式重定向到Log.log中。
nohup java -jar <name>.jar > Log.log 2>&1 &
或者
nohup java -jar <name>.jar >> Log.log 2>&1 &
或者
nohup java -jar <name>.jar > /dev/null 2>&1 &
标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;
如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
"> Log.log 2>&1" :表示将 stdout 和 stderr 合并后重定向到 Log.log
4. 停止应用程序
ps -ef | grep server_name
或者
ps aux|grep server_name.jar
运行上述命令中任何一个都可以拿到PID号
[root@VM_0_13_centos microservice]# ps aux|grep jar
root 9827 0.0 3.0 2253056 30900 ? Sl 2019 150:34 java -jar heartRate_v2.jar
root 32482 0.0 0.0 112712 964 pts/4 R+ 11:30 0:00 grep --color=auto jar
[root@VM_0_13_centos microservice]# ps aux|grep heartRate_v2.jar
root 9827 0.0 3.0 2253056 30900 ? Sl 2019 150:34 java -jar heartRate_v2.jar
root 32597 0.0 0.0 112712 980 pts/4 R+ 11:30 0:00 grep --color=auto heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps -ef|grep java
root 3575 26683 0 11:37 pts/4 00:00:00 grep --color=auto java
root 9827 1 0 2019 ? 02:30:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps -ef| grep heartRate_v2.jar
root 3755 26683 0 11:37 pts/4 00:00:00 grep --color=auto heartRate_v2.jar
root 9827 1 0 2019 ? 02:30:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]# ps aux|grep heartRate_v2.jar
root 3892 0.0 0.0 112712 976 pts/4 R+ 11:38 0:00 grep --color=auto heartRate_v2.jar
root 9827 0.0 3.0 2253056 30900 ? Sl 2019 150:34 java -jar heartRate_v2.jar
[root@VM_0_13_centos microservice]#
注意: 为什么ps aux |grep xxx 会出现grep --color=auto xxx 的结果,因为grep本身也是一个进程,ps会将grep进程的信息也显示出来。
根据查询结果得到pid=9827
kill -9 9827
执行既可以停止应用程序
5. 上述启动方式会将log重定向
下述方式可以不重定向log目录
nohup java -jar xxx.jar &