java -Xms300m -Xmx800m -Djava.ext.dirs=lib -classpath conf -Djava.awt.headless=true -Dlogback.configurationFile=conf/logback.xml com.lingx.jt808.api.App >console.log&
java.ext.dirs指定的目录由ExtClassLoader加载器加载,如果程序没有指定该值,那么该加载器默认加载$JAVA_HOME/jre/lib/ext目录下的所有jar文件。可以同时指定多个路径,例:-Djava.ext.dirs=./plugin:$JAVA_HOME/jre/lib/ext
-classpath 包含类文件(.class)和 JAR 包的位置,用于指导编译器和运行时环境定位所需类文件。
java -cp ".;path/to/mylibrary.jar" com.example.MainClass
或
java -classpath .:/path/to/lib/* com.example.MainClass
在这个命令中,.表示当前目录,/path/to/lib/*表示lib目录下的所有jar包,com.example.MainClass是主类名。
classpath 只搜索当前项目的类路径,而 classpath* 搜索整个应用程序的类路径,包括依赖的 JAR 文件。
# nohup 退出shell窗口仍运行,最尾巴的&符号,表示 Ctrl+C 仍运行,可结合起来使用
# 0 标准输入;1 标准输出;2 标准错误;
# 2>1的作用是把标准错误的输出重定向到1,但这个1不是标准输出,而是一个文件,文件名就是1;
# 2>&1的作用是把标准错误的输出重定向到标准输出1,&指示不要把1当作普通文件,而是作为标准输出来处理。
# 2>&1 将标准错误重定向到标准输出, >& 是一个整体, 这儿的1 代表app_name-$(date +%Y-%m-%d).log文件
nohup java -jar app_name.jar >> /home/log/app_name-$(date +%Y-%m-%d).log 2>&1 &
nohup java -jar app.jar >log 2>&1 &
本来1----->屏幕 (1指向屏幕)
执行>log后, 1----->log (1指向log)
执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)
nohup java -jar app.jar 2>&1 >log &
本来1----->屏幕 (1指向屏幕)
执行2>&1后, 2----->1 (2指向1,而1指向屏幕,因此2也指向了屏幕)
执行>log后, 1----->log (1指向log,2还是指向屏幕)
> 是覆写文件而
>> 是追加文件
>& 后面既可以识别文件,可以识别文件描述符
&> 后面只可以识别文件(&>后面接文件描述符时,表示将标准输出和标准错误输出重定向至与文件描述符同名的文件)
& 表示将任务提交到后台运行。可以通过jobs命令查看任务状态。
&& 表示表示前一条命令执行成功后,才执行后一条命令
| 表示管道,即将上一条命令的输出,作为下一条命令的输入参数。
|| 表示表示前一条命令执行失败后,才执行后一条命令。
https://cloud.tencent.com/developer/article/2162194